Introdução¶
Mineração de dados sobre os acidentes de trânsito nas rodovias federais brasileiras durante o período de tempo de Janeiro de 2023 até Janeiro de 2025. Foi utilizado no treinamento dos modelos os algoritimos Naive Bayes, Random Forest, SVM e RBFNN. A análise do impacto das váriaveis no modelo Random Forest foi feita com base no SHAP values que utiliza a teoria dos jogos para identificar a contribuição dos envolvidos no treinamento no resultado final. Os datasets foram disponibilizados pelo Plano de Dados Abertos da PRF através do site: https://www.gov.br/prf/pt-br/acesso-a-informacao/dados-abertos/dados-abertos-da-prf na categoria de Agrupados por ocorrência.
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.ensemble import RandomForestClassifier
from sklearn.svm import SVC
from sklearn.naive_bayes import GaussianNB
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import accuracy_score, classification_report
import matplotlib.pyplot as plt
import seaborn as sns
import plotly.express as px
import shap
Carregamento e transformação dos dados¶
df1 = pd.read_csv("datatran2025.csv", encoding="ANSI", delimiter=";")
df2 = pd.read_csv("datatran2024.csv", encoding="ANSI", delimiter=";")
df3 = pd.read_csv("datatran2023.csv", encoding="ANSI", delimiter=";")
df = pd.concat([df1, df2, df3])
df
| id | data_inversa | dia_semana | horario | uf | br | km | municipio | causa_acidente | tipo_acidente | ... | feridos_graves | ilesos | ignorados | feridos | veiculos | latitude | longitude | regional | delegacia | uop | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 652493.0 | 2025-01-01 | quarta-feira | 06:20:00 | SP | 116 | 225 | GUARULHOS | Reação tardia ou ineficiente do condutor | Tombamento | ... | 0 | 0 | 1 | 1 | 2 | -23.485868 | -46.540753 | SPRF-SP | DEL01-SP | UOP01-DEL01-SP |
| 1 | 652519.0 | 2025-01-01 | quarta-feira | 07:50:00 | CE | 116 | 546,2 | PENAFORTE | Pista esburacada | Colisão frontal | ... | 0 | 1 | 4 | 1 | 6 | -7.812288 | -39.083333 | SPRF-CE | DEL05-CE | UOP03-DEL05-CE |
| 2 | 652522.0 | 2025-01-01 | quarta-feira | 08:45:00 | PR | 369 | 88,2 | CORNELIO PROCOPIO | Reação tardia ou ineficiente do condutor | Colisão traseira | ... | 0 | 2 | 0 | 3 | 2 | -23.182565 | -50.637228 | SPRF-PR | DEL07-PR | UOP05-DEL07-PR |
| 3 | 652544.0 | 2025-01-01 | quarta-feira | 11:00:00 | PR | 116 | 74 | CAMPINA GRANDE DO SUL | Reação tardia ou ineficiente do condutor | Saída de leito carroçável | ... | 0 | 4 | 0 | 1 | 2 | -25.365177 | -49.04223 | SPRF-PR | DEL01-PR | UOP02-DEL01-PR |
| 4 | 652549.0 | 2025-01-01 | quarta-feira | 09:30:00 | MG | 251 | 471 | FRANCISCO SA | Velocidade Incompatível | Colisão frontal | ... | 1 | 1 | 2 | 2 | 4 | -16.468013 | -43.431213 | SPRF-MG | DEL12-MG | UOP01-DEL12-MG |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 67761 | 619297.0 | 2023-04-19 | quarta-feira | 20:50:00 | PR | 376 | 475 | PONTA GROSSA | Pedestre andava na pista | Atropelamento de Pedestre | ... | 0 | 4 | 0 | 0 | 2 | -25,05467785 | -50,22938892 | NaN | NaN | NaN |
| 67762 | 619475.0 | 2023-06-20 | terça-feira | 20:30:00 | MA | 222 | 206,5 | ITAPECURU MIRIM | Acessar a via sem observar a presença dos outr... | Colisão transversal | ... | 0 | 1 | 0 | 1 | 2 | -3,40552588 | -44,35174989 | NaN | NaN | NaN |
| 67763 | 619476.0 | 2023-05-18 | quinta-feira | 06:15:00 | ES | 101 | 62,7 | SAO MATEUS | Conversão proibida | Colisão transversal | ... | 1 | 0 | 0 | 3 | 2 | -18,69020499 | -39,86154403 | NaN | NaN | NaN |
| 67764 | 619913.0 | 2023-08-22 | terça-feira | 15:00:00 | MG | 50 | 15 | UBERLANDIA | Acumulo de areia ou detritos sobre o pavimento | Tombamento | ... | 1 | 0 | 0 | 1 | 1 | -18,91385522 | -48,17243636 | NaN | NaN | NaN |
| 67765 | 620943.0 | 2023-08-14 | segunda-feira | 13:30:00 | RJ | 116 | 148 | DUQUE DE CAXIAS | Chuva | Queda de ocupante de veículo | ... | 0 | 0 | 0 | 1 | 1 | -22,6723488 | -43,28215398 | NaN | NaN | NaN |
146400 rows × 30 columns
# Remover colunas irrelevantes
colunas_remover = ['id', 'horario', 'uf', 'km', 'municipio', 'pessoas', 'ignorados', 'regional', 'delegacia', 'uop', 'mortos', 'feridos_leves', 'feridos_graves', 'ilesos', 'br']
df.drop(columns=colunas_remover, inplace=True)
df.shape
(146400, 15)
for coluna, dados in df.items():
print(coluna)
print(dados.unique())
print()
data_inversa ['2025-01-01' '2025-01-02' '2025-01-03' '2025-01-04' '2025-01-05' '2025-01-06' '2025-01-07' '2025-01-08' '2025-01-09' '2025-01-10' '2025-01-11' '2025-01-12' '2025-01-13' '2025-01-14' '2025-01-15' '2025-01-16' '2025-01-17' '2025-01-18' '2025-01-19' '2025-01-20' '2025-01-21' '2025-01-22' '2025-01-23' '2025-01-24' '2025-01-25' '2025-01-26' '2025-01-27' '2025-01-28' '2025-01-29' '2025-01-30' '2025-01-31' '2024-01-01' '2024-01-02' '2024-01-03' '2024-01-04' '2024-01-05' '2024-01-06' '2024-01-07' '2024-01-08' '2024-01-09' '2024-01-10' '2024-01-11' '2024-01-12' '2024-01-13' '2024-01-14' '2024-01-15' '2024-01-16' '2024-01-17' '2024-01-18' '2024-01-19' '2024-01-20' '2024-01-21' '2024-01-22' '2024-01-23' '2024-01-24' '2024-01-25' '2024-01-26' '2024-01-27' '2024-01-28' '2024-01-29' '2024-01-30' '2024-01-31' '2024-02-01' '2024-02-02' '2024-02-03' '2024-02-04' '2024-02-05' '2024-02-06' '2024-02-07' '2024-02-08' '2024-02-09' '2024-02-10' '2024-02-11' '2024-02-12' '2024-02-13' '2024-02-14' '2024-02-15' '2024-02-16' '2024-02-17' '2024-02-18' '2024-02-19' '2024-02-20' '2024-02-21' '2024-02-22' '2024-02-23' '2024-02-24' '2024-02-25' '2024-02-26' '2024-02-27' '2024-02-28' '2024-02-29' '2024-03-01' '2024-03-02' '2024-03-03' '2024-03-04' '2024-03-05' '2024-03-06' '2024-03-07' '2024-03-08' '2024-03-09' '2024-03-10' '2024-03-11' '2024-03-12' '2024-03-13' '2024-03-14' '2024-03-15' '2024-03-16' '2024-03-17' '2024-03-18' '2024-03-19' '2024-03-20' '2024-03-21' '2024-03-22' '2024-03-23' '2024-03-24' '2024-03-25' '2024-03-26' '2024-03-27' '2024-03-28' '2024-03-29' '2024-03-30' '2024-03-31' '2024-04-01' '2024-04-02' '2024-04-03' '2024-04-04' '2024-04-05' '2024-04-06' '2024-04-07' '2024-04-08' '2024-04-09' '2024-04-10' '2024-04-11' '2024-04-12' '2024-04-13' '2024-04-14' '2024-04-15' '2024-04-16' '2024-04-17' '2024-04-18' '2024-04-19' '2024-04-20' '2024-04-21' '2024-04-22' '2024-04-23' '2024-04-24' '2024-04-25' '2024-04-26' '2024-04-27' '2024-04-28' '2024-04-29' '2024-04-30' '2024-05-01' '2024-05-02' '2024-05-03' '2024-05-04' '2024-05-05' '2024-05-06' '2024-05-07' '2024-05-08' '2024-05-09' '2024-05-10' '2024-05-11' '2024-05-12' '2024-05-13' '2024-05-14' '2024-05-15' '2024-05-16' '2024-05-17' '2024-05-18' '2024-05-19' '2024-05-20' '2024-05-21' '2024-05-22' '2024-05-23' '2024-05-24' '2024-05-25' '2024-05-26' '2024-05-27' '2024-05-28' '2024-05-29' '2024-05-30' '2024-05-31' '2024-06-01' '2024-06-02' '2024-06-03' '2024-06-04' '2024-06-05' '2024-06-06' '2024-06-07' '2024-06-08' '2024-06-09' '2024-06-10' '2024-06-11' '2024-06-12' '2024-06-13' '2024-06-14' '2024-06-15' '2024-06-16' '2024-06-17' '2024-06-18' '2024-06-19' '2024-06-20' '2024-06-21' '2024-06-22' '2024-06-23' '2024-06-24' '2024-06-25' '2024-06-26' '2024-06-27' '2024-06-28' '2024-06-29' '2024-06-30' '2024-07-01' '2024-07-02' '2024-07-03' '2024-07-04' '2024-07-05' '2024-07-06' '2024-07-07' '2024-07-08' '2024-07-09' '2024-07-10' '2024-07-11' '2024-07-12' '2024-07-13' '2024-07-14' '2024-07-15' '2024-07-16' '2024-07-17' '2024-07-18' '2024-07-19' '2024-07-20' '2024-07-21' '2024-07-22' '2024-07-23' '2024-07-24' '2024-07-25' '2024-07-26' '2024-07-27' '2024-07-28' '2024-07-29' '2024-07-30' '2024-07-31' '2024-08-01' '2024-08-02' '2024-08-03' '2024-08-04' '2024-08-05' '2024-08-06' '2024-08-07' '2024-08-08' '2024-08-09' '2024-08-10' '2024-08-11' '2024-08-12' '2024-08-13' '2024-08-14' '2024-08-15' '2024-08-16' '2024-08-17' '2024-08-18' '2024-08-19' '2024-08-20' '2024-08-21' '2024-08-22' '2024-08-23' '2024-08-24' '2024-08-25' '2024-08-26' '2024-08-27' '2024-08-28' '2024-08-29' '2024-08-30' '2024-08-31' '2024-09-01' '2024-09-02' '2024-09-03' '2024-09-04' '2024-09-05' '2024-09-06' '2024-09-07' '2024-09-08' '2024-09-09' '2024-09-10' '2024-09-11' '2024-09-12' '2024-09-13' '2024-09-14' '2024-09-15' '2024-09-16' '2024-09-17' '2024-09-18' '2024-09-19' '2024-09-20' '2024-09-21' '2024-09-22' '2024-09-23' '2024-09-24' '2024-09-25' '2024-09-26' '2024-09-27' '2024-09-28' '2024-09-29' '2024-09-30' '2024-10-01' '2024-10-02' '2024-10-03' '2024-10-04' '2024-10-05' '2024-10-06' '2024-10-07' '2024-10-08' '2024-10-09' '2024-10-10' '2024-10-11' '2024-10-12' '2024-10-13' '2024-10-14' '2024-10-15' '2024-10-16' '2024-10-17' '2024-10-18' '2024-10-19' '2024-10-20' '2024-10-21' '2024-10-22' '2024-10-23' '2024-10-24' '2024-10-25' '2024-10-26' '2024-10-27' '2024-10-28' '2024-10-29' '2024-10-30' '2024-10-31' '2024-11-01' '2024-11-02' '2024-11-03' '2024-11-04' '2024-11-05' '2024-11-06' '2024-11-07' '2024-11-08' '2024-11-09' '2024-11-10' '2024-11-11' '2024-11-12' '2024-11-13' '2024-11-14' '2024-11-15' '2024-11-16' '2024-11-17' '2024-11-18' '2024-11-19' '2024-11-20' '2024-11-21' '2024-11-22' '2024-11-23' '2024-11-24' '2024-11-25' '2024-11-26' '2024-11-27' '2024-11-28' '2024-11-29' '2024-11-30' '2024-12-01' '2024-12-02' '2024-12-03' '2024-12-04' '2024-12-05' '2024-12-06' '2024-12-07' '2024-12-08' '2024-12-09' '2024-12-10' '2024-12-11' '2024-12-12' '2024-12-13' '2024-12-14' '2024-12-15' '2024-12-16' '2024-12-17' '2024-12-18' '2024-12-19' '2024-12-20' '2024-12-21' '2024-12-22' '2024-12-23' '2024-12-24' '2024-12-25' '2024-12-26' '2024-12-27' '2024-12-28' '2024-12-29' '2024-12-30' '2024-12-31' '2023-01-01' '2023-01-02' '2023-01-03' '2023-01-04' '2023-01-05' '2023-01-06' '2023-01-07' '2023-01-08' '2023-01-09' '2023-01-10' '2023-01-11' '2023-01-12' '2023-01-13' '2023-01-14' '2023-01-15' '2023-01-16' '2023-01-17' '2023-01-18' '2023-01-19' '2023-01-20' '2023-01-22' '2023-01-23' '2023-01-21' '2023-01-24' '2023-01-25' '2023-01-26' '2023-01-27' '2023-01-28' '2023-01-29' '2023-01-30' '2023-01-31' '2023-02-01' '2023-02-02' '2023-02-03' '2023-02-04' '2023-02-05' '2023-02-06' '2023-02-07' '2023-02-08' '2023-02-09' '2023-02-10' '2023-02-11' '2023-02-12' '2023-02-13' '2023-02-14' '2023-02-15' '2023-02-16' '2023-02-17' '2023-02-18' '2023-02-19' '2023-02-20' '2023-02-21' '2023-02-22' '2023-02-23' '2023-02-24' '2023-02-25' '2023-02-26' '2023-02-27' '2023-02-28' '2023-03-01' '2023-03-02' '2023-03-03' '2023-03-04' '2023-03-05' '2023-03-06' '2023-03-07' '2023-03-08' '2023-03-09' '2023-03-10' '2023-03-11' '2023-03-12' '2023-03-13' '2023-03-14' '2023-03-15' '2023-03-16' '2023-03-17' '2023-03-18' '2023-03-19' '2023-03-20' '2023-03-21' '2023-03-22' '2023-03-23' '2023-03-24' '2023-03-25' '2023-03-26' '2023-03-27' '2023-03-28' '2023-03-29' '2023-03-30' '2023-03-31' '2023-04-01' '2023-04-02' '2023-04-03' '2023-04-04' '2023-04-05' '2023-04-06' '2023-04-07' '2023-04-08' '2023-04-09' '2023-04-10' '2023-04-11' '2023-04-12' '2023-04-13' '2023-04-14' '2023-04-15' '2023-04-16' '2023-04-17' '2023-04-18' '2023-04-19' '2023-04-20' '2023-04-21' '2023-04-22' '2023-04-23' '2023-04-24' '2023-04-25' '2023-04-26' '2023-04-27' '2023-04-28' '2023-04-29' '2023-04-30' '2023-05-01' '2023-05-02' '2023-05-03' '2023-05-04' '2023-05-05' '2023-05-06' '2023-05-07' '2023-05-08' '2023-05-09' '2023-05-10' '2023-05-11' '2023-05-12' '2023-05-13' '2023-05-14' '2023-05-15' '2023-05-16' '2023-05-17' '2023-05-18' '2023-05-19' '2023-05-20' '2023-05-21' '2023-05-22' '2023-05-23' '2023-05-24' '2023-05-25' '2023-05-26' '2023-05-27' '2023-05-28' '2023-05-29' '2023-05-30' '2023-05-31' '2023-06-01' '2023-06-02' '2023-06-03' '2023-06-04' '2023-06-05' '2023-06-06' '2023-06-07' '2023-06-08' '2023-06-09' '2023-06-10' '2023-06-11' '2023-06-12' '2023-06-13' '2023-06-14' '2023-06-15' '2023-06-16' '2023-06-17' '2023-06-18' '2023-06-19' '2023-06-20' '2023-06-21' '2023-06-22' '2023-06-23' '2023-06-24' '2023-06-25' '2023-06-26' '2023-06-27' '2023-06-28' '2023-06-29' '2023-06-30' '2023-07-01' '2023-07-02' '2023-07-03' '2023-07-04' '2023-07-05' '2023-07-06' '2023-07-07' '2023-07-08' '2023-07-09' '2023-07-10' '2023-07-11' '2023-07-12' '2023-07-13' '2023-07-14' '2023-07-15' '2023-07-16' '2023-07-17' '2023-07-18' '2023-07-19' '2023-07-20' '2023-07-21' '2023-07-22' '2023-07-23' '2023-07-24' '2023-07-25' '2023-07-26' '2023-07-27' '2023-07-28' '2023-07-29' '2023-07-30' '2023-07-31' '2023-08-01' '2023-08-02' '2023-08-03' '2023-08-04' '2023-08-05' '2023-08-06' '2023-08-07' '2023-08-08' '2023-08-09' '2023-08-10' '2023-08-11' '2023-08-12' '2023-08-13' '2023-08-14' '2023-08-15' '2023-08-16' '2023-08-17' '2023-08-18' '2023-08-19' '2023-08-20' '2023-08-21' '2023-08-22' '2023-08-23' '2023-08-24' '2023-08-25' '2023-08-26' '2023-08-27' '2023-08-28' '2023-08-29' '2023-08-30' '2023-08-31' '2023-09-01' '2023-09-02' '2023-09-03' '2023-09-04' '2023-09-05' '2023-09-06' '2023-09-07' '2023-09-08' '2023-09-09' '2023-09-10' '2023-09-11' '2023-09-12' '2023-09-13' '2023-09-14' '2023-09-15' '2023-09-16' '2023-09-17' '2023-09-18' '2023-09-19' '2023-09-20' '2023-09-21' '2023-09-22' '2023-09-23' '2023-09-24' '2023-09-25' '2023-09-26' '2023-09-27' '2023-09-28' '2023-09-29' '2023-09-30' '2023-10-01' '2023-10-02' '2023-10-03' '2023-10-04' '2023-10-05' '2023-10-06' '2023-10-07' '2023-10-08' '2023-10-09' '2023-10-10' '2023-10-11' '2023-10-12' '2023-10-13' '2023-10-14' '2023-10-15' '2023-10-16' '2023-10-17' '2023-10-18' '2023-10-19' '2023-10-20' '2023-10-21' '2023-10-22' '2023-10-23' '2023-10-24' '2023-10-25' '2023-10-26' '2023-10-27' '2023-10-28' '2023-10-29' '2023-10-30' '2023-10-31' '2023-11-01' '2023-11-02' '2023-11-03' '2023-11-04' '2023-11-05' '2023-11-06' '2023-11-07' '2023-11-08' '2023-11-09' '2023-11-10' '2023-11-11' '2023-11-12' '2023-11-13' '2023-11-14' '2023-11-15' '2023-11-16' '2023-11-17' '2023-11-18' '2023-11-19' '2023-11-20' '2023-11-21' '2023-11-22' '2023-11-23' '2023-11-24' '2023-11-25' '2023-11-26' '2023-11-27' '2023-11-28' '2023-11-29' '2023-11-30' '2023-12-01' '2023-12-02' '2023-12-03' '2023-12-04' '2023-12-05' '2023-12-06' '2023-12-07' '2023-12-08' '2023-12-09' '2023-12-10' '2023-12-11' '2023-12-12' '2023-12-13' '2023-12-14' '2023-12-15' '2023-12-16' '2023-12-17' '2023-12-18' '2023-12-19' '2023-12-20' '2023-12-21' '2023-12-22' '2023-12-23' '2023-12-24' '2023-12-25' '2023-12-26' '2023-12-27' '2023-12-28' '2023-12-29' '2023-12-30' '2023-12-31'] dia_semana ['quarta-feira' 'quinta-feira' 'sexta-feira' 'sábado' 'domingo' 'segunda-feira' 'terça-feira'] causa_acidente ['Reação tardia ou ineficiente do condutor' 'Pista esburacada' 'Velocidade Incompatível' 'Transitar na contramão' 'Ausência de reação do condutor' 'Demais falhas mecânicas ou elétricas' 'Ingestão de álcool pelo condutor' 'Condutor Dormindo' 'Manobra de mudança de faixa' 'Chuva' 'Acessar a via sem observar a presença dos outros veículos' 'Condutor deixou de manter distância do veículo da frente' 'Ultrapassagem Indevida' 'Pedestre andava na pista' 'Acumulo de água sobre o pavimento' 'Carga excessiva e/ou mal acondicionada' 'Curva acentuada' 'Área urbana sem a presença de local apropriado para a travessia de pedestres' 'Desrespeitar a preferência no cruzamento' 'Estacionar ou parar em local proibido' 'Demais falhas na via' 'Pista Escorregadia' 'Transitar no Acostamento' 'Pedestre - Ingestão de álcool/ substâncias psicoativas' 'Afundamento ou ondulação no pavimento' 'Condutor desrespeitou a iluminação vermelha do semáforo' 'Animais na Pista' 'Suicídio (presumido)' 'Frear bruscamente' 'Problema com o freio' 'Objeto estático sobre o leito carroçável' 'Pedestre cruzava a pista fora da faixa' 'Mal súbito do condutor' 'Transtornos Mentais (exceto suicidio)' 'Faixas de trânsito com largura insuficiente' 'Conversão proibida' 'Trafegar com motocicleta (ou similar) entre as faixas' 'Retorno proibido' 'Acumulo de óleo sobre o pavimento' 'Acostamento em desnível' 'Avarias e/ou desgaste excessivo no pneu' 'Falta de acostamento' 'Entrada inopinada do pedestre' 'Acesso irregular' 'Demais Fenômenos da natureza' 'Falta de elemento de contenção que evite a saída do leito carroçável' 'Deficiência do Sistema de Iluminação/Sinalização' 'Ausência de sinalização' 'Condutor usando celular' 'Ingestão de substâncias psicoativas pelo condutor' 'Declive acentuado' 'Participar de racha' 'Desvio temporário' 'Sinalização mal posicionada' 'Restrição de visibilidade em curvas horizontais' 'Sistema de drenagem ineficiente' 'Iluminação deficiente' 'Restrição de visibilidade em curvas verticais' 'Problema na suspensão' 'Acumulo de areia ou detritos sobre o pavimento' 'Neblina' 'Deixar de acionar o farol da motocicleta (ou similar)' 'Semáforo com defeito' 'Redutor de velocidade em desacordo' 'Fumaça' 'Modificação proibida' 'Faróis desregulados' 'Sinalização encoberta' 'Transitar na calçada' 'Obstrução na via' 'Obras na pista' 'Ingestão de álcool e/ou substâncias psicoativas pelo pedestre' 'Pista em desnível' 'Ingestão de álcool ou de substâncias psicoativas pelo pedestre' 'Obstrução Via tentativa Assalto'] tipo_acidente ['Tombamento' 'Colisão frontal' 'Colisão traseira' 'Saída de leito carroçável' 'Incêndio' 'Colisão com objeto' 'Colisão lateral mesmo sentido' 'Colisão lateral sentido oposto' 'Queda de ocupante de veículo' 'Engavetamento' 'Derramamento de carga' 'Colisão transversal' 'Atropelamento de Pedestre' 'Capotamento' 'Atropelamento de Animal' 'Eventos atípicos' 'Sinistro pessoal de trânsito'] classificacao_acidente ['Com Vítimas Feridas' 'Com Vítimas Fatais' 'Sem Vítimas' nan] fase_dia ['Pleno dia' 'Anoitecer' 'Plena Noite' 'Amanhecer'] sentido_via ['Decrescente' 'Crescente' 'Não Informado'] condicao_metereologica ['Céu Claro' 'Sol' 'Chuva' 'Nublado' 'Garoa/Chuvisco' 'Vento' 'Ignorado' 'Nevoeiro/Neblina' 'Granizo' 'Neve'] tipo_pista ['Múltipla' 'Simples' 'Dupla'] tracado_via ['Reta;Declive' 'Reta' 'Reta;Aclive' 'Curva;Declive' 'Curva' 'Aclive;Curva' 'Curva;Interseção de Vias' 'Curva;Aclive' 'Declive;Reta' 'Retorno Regulamentado' 'Ponte;Declive;Curva' 'Curva;Ponte' 'Aclive' 'Em Obras;Declive;Curva' 'Aclive;Reta' 'Declive' 'Em Obras;Desvio Temporário;Reta' 'Aclive;Interseção de Vias;Reta' 'Aclive;Retorno Regulamentado' 'Interseção de Vias;Rotatória' 'Reta;Interseção de Vias' 'Declive;Curva;Interseção de Vias' 'Reta;Ponte' 'Reta;Retorno Regulamentado' 'Ponte;Curva' 'Interseção de Vias' 'Interseção de Vias;Reta;Rotatória' 'Declive;Curva' 'Rotatória;Interseção de Vias' 'Interseção de Vias;Reta' 'Reta;Em Obras' 'Retorno Regulamentado;Reta' 'Aclive;Retorno Regulamentado;Curva' 'Viaduto' 'Declive;Reta;Ponte' 'Viaduto;Declive;Reta' 'Em Obras;Reta' 'Em Obras;Reta;Declive' 'Rotatória' 'Reta;Ponte;Declive' 'Curva;Viaduto' 'Desvio Temporário' 'Reta;Viaduto' 'Interseção de Vias;Viaduto;Rotatória' 'Viaduto;Curva;Aclive' 'Ponte' 'Reta;Declive;Retorno Regulamentado;Interseção de Vias' 'Retorno Regulamentado;Rotatória' 'Reta;Retorno Regulamentado;Interseção de Vias' 'Declive;Retorno Regulamentado' 'Curva;Interseção de Vias;Rotatória' 'Curva;Retorno Regulamentado' 'Em Obras;Curva' 'Viaduto;Interseção de Vias;Rotatória' 'Ponte;Reta' 'Curva;Rotatória' 'Rotatória;Viaduto' 'Desvio Temporário;Em Obras;Reta' 'Declive;Ponte;Curva' 'Rotatória;Em Obras' 'Declive;Reta;Em Obras' 'Interseção de Vias;Curva' 'Reta;Rotatória' 'Em Obras;Retorno Regulamentado;Reta' 'Em Obras;Rotatória' 'Túnel;Curva' 'Curva;Em Obras' 'Desvio Temporário;Em Obras' 'Declive;Interseção de Vias;Reta;Rotatória' 'Declive;Curva;Rotatória' 'Retorno Regulamentado;Interseção de Vias' 'Reta;Interseção de Vias;Declive' 'Rotatória;Aclive' 'Declive;Ponte' 'Viaduto;Reta' 'Retorno Regulamentado;Rotatória;Reta' 'Rotatória;Reta' 'Aclive;Reta;Viaduto' 'Interseção de Vias;Aclive;Reta' 'Declive;Retorno Regulamentado;Interseção de Vias;Rotatória;Desvio Temporário' 'Em Obras;Interseção de Vias' 'Retorno Regulamentado;Interseção de Vias;Rotatória' 'Interseção de Vias;Viaduto;Rotatória;Curva' 'Reta;Em Obras;Ponte' 'Aclive;Curva;Interseção de Vias;Rotatória' 'Ponte;Declive;Reta' 'Interseção de Vias;Reta;Aclive' 'Retorno Regulamentado;Curva' 'Aclive;Viaduto;Reta' 'Interseção de Vias;Declive;Reta' 'Interseção de Vias;Viaduto' 'Interseção de Vias;Declive;Curva' 'Em Obras;Viaduto' 'Aclive;Interseção de Vias' 'Aclive;Interseção de Vias;Em Obras;Curva' 'Interseção de Vias;Curva;Retorno Regulamentado' 'Interseção de Vias;Declive' 'Em Obras' 'Declive;Retorno Regulamentado;Curva' 'Desvio Temporário;Reta;Em Obras' 'Viaduto;Rotatória;Retorno Regulamentado' 'Declive;Interseção de Vias;Reta' 'Aclive;Viaduto' 'Aclive;Em Obras;Reta' 'Em Obras;Reta;Aclive' 'Viaduto;Reta;Aclive' 'Aclive;Reta;Interseção de Vias' 'Viaduto;Aclive;Reta' 'Declive;Viaduto;Curva' 'Curva;Viaduto;Aclive' 'Declive;Viaduto;Reta' 'Retorno Regulamentado;Viaduto' 'Reta;Aclive;Ponte' 'Viaduto;Rotatória;Interseção de Vias' 'Túnel;Reta' 'Interseção de Vias;Reta;Rotatória;Aclive' 'Aclive;Reta;Retorno Regulamentado' 'Aclive;Rotatória' 'Reta;Interseção de Vias;Retorno Regulamentado' 'Em Obras;Interseção de Vias;Reta' 'Interseção de Vias;Túnel;Curva' 'Declive;Reta;Retorno Regulamentado' 'Em Obras;Interseção de Vias;Reta;Rotatória' 'Em Obras;Reta;Declive;Interseção de Vias' 'Aclive;Curva;Viaduto' 'Interseção de Vias;Reta;Retorno Regulamentado' 'Curva;Declive;Viaduto' 'Reta;Em Obras;Interseção de Vias' 'Desvio Temporário;Reta' 'Viaduto;Curva;Retorno Regulamentado' 'Declive;Interseção de Vias;Rotatória' 'Declive;Viaduto;Interseção de Vias' 'Declive;Retorno Regulamentado;Reta' 'Viaduto;Curva' 'Retorno Regulamentado;Reta;Rotatória' 'Retorno Regulamentado;Interseção de Vias;Reta;Rotatória' 'Aclive;Em Obras' 'Reta;Declive;Interseção de Vias' 'Aclive;Reta;Em Obras' 'Interseção de Vias;Viaduto;Curva' 'Declive;Em Obras' 'Desvio Temporário;Curva' 'Retorno Regulamentado;Declive;Reta' 'Declive;Interseção de Vias' 'Viaduto;Retorno Regulamentado;Reta' 'Interseção de Vias;Viaduto;Reta' 'Declive;Em Obras;Curva' 'Declive;Viaduto' 'Em Obras;Reta;Rotatória' 'Túnel;Declive;Curva' 'Reta;Rotatória;Retorno Regulamentado' 'Retorno Regulamentado;Curva;Viaduto' 'Túnel' 'Interseção de Vias;Rotatória;Reta' 'Retorno Regulamentado;Reta;Declive' 'Em Obras;Curva;Interseção de Vias' 'Aclive;Curva;Interseção de Vias' 'Desvio Temporário;Em Obras;Curva' 'Rotatória;Reta;Retorno Regulamentado;Declive' 'Retorno Regulamentado;Reta;Viaduto;Interseção de Vias' 'Aclive;Interseção de Vias;Viaduto' 'Em Obras;Reta;Desvio Temporário' 'Reta;Interseção de Vias;Rotatória' 'Reta;Interseção de Vias;Viaduto;Declive' 'Reta;Ponte;Aclive' 'Reta;Viaduto;Declive' 'Interseção de Vias;Rotatória;Desvio Temporário;Em Obras' 'Curva;Em Obras;Desvio Temporário' 'Reta;Interseção de Vias;Em Obras' 'Retorno Regulamentado;Reta;Interseção de Vias' 'Reta;Em Obras;Desvio Temporário' 'Curva;Aclive;Em Obras' 'Aclive;Rotatória;Curva' 'Aclive;Ponte;Reta' 'Reta;Desvio Temporário' 'Curva;Declive;Ponte' 'Rotatória;Reta;Declive' 'Curva;Retorno Regulamentado;Interseção de Vias;Declive' 'Reta;Retorno Regulamentado;Interseção de Vias;Rotatória' 'Rotatória;Reta;Interseção de Vias' 'Interseção de Vias;Rotatória;Declive' 'Em Obras;Desvio Temporário' 'Reta;Em Obras;Declive;Interseção de Vias' 'Reta;Declive;Ponte' 'Reta;Interseção de Vias;Aclive' 'Ponte;Reta;Declive' 'Curva;Aclive;Viaduto' 'Reta;Aclive;Viaduto' 'Reta;Interseção de Vias;Desvio Temporário' 'Interseção de Vias;Aclive' 'Rotatória;Interseção de Vias;Curva' 'Curva;Retorno Regulamentado;Aclive' 'Declive;Reta;Interseção de Vias' 'Em Obras;Viaduto;Reta' 'Rotatória;Declive' 'Interseção de Vias;Em Obras' 'Rotatória;Curva' 'Reta;Declive;Em Obras' 'Retorno Regulamentado;Aclive' 'Declive;Curva;Em Obras' 'Aclive;Reta;Em Obras;Desvio Temporário' 'Curva;Desvio Temporário;Aclive' 'Em Obras;Declive;Reta' 'Desvio Temporário;Aclive;Reta' 'Aclive;Ponte;Curva' 'Interseção de Vias;Retorno Regulamentado;Rotatória' 'Em Obras;Curva;Declive' 'Túnel;Curva;Retorno Regulamentado' 'Ponte;Em Obras;Curva;Declive;Desvio Temporário' 'Declive;Ponte;Reta' 'Interseção de Vias;Reta;Declive' 'Ponte;Curva;Declive' 'Declive;Rotatória;Curva' 'Retorno Regulamentado;Declive;Interseção de Vias;Reta' 'Viaduto;Reta;Retorno Regulamentado' 'Reta;Declive;Rotatória' 'Declive;Desvio Temporário' 'Ponte;Declive' 'Interseção de Vias;Retorno Regulamentado' 'Curva;Rotatória;Interseção de Vias' 'Túnel;Reta;Declive' 'Curva;Ponte;Em Obras' 'Em Obras;Interseção de Vias;Desvio Temporário' 'Retorno Regulamentado;Interseção de Vias;Reta' 'Reta;Viaduto;Interseção de Vias' 'Desvio Temporário;Em Obras;Aclive' 'Interseção de Vias;Curva;Viaduto' 'Declive;Em Obras;Reta' 'Em Obras;Declive;Curva;Desvio Temporário' 'Interseção de Vias;Reta;Viaduto;Retorno Regulamentado' 'Curva;Declive;Em Obras' 'Desvio Temporário;Aclive;Em Obras' 'Declive;Desvio Temporário;Curva' 'Curva;Rotatória;Aclive;Interseção de Vias' 'Em Obras;Reta;Declive;Desvio Temporário' 'Interseção de Vias;Rotatória;Curva' 'Viaduto;Aclive' 'Curva;Retorno Regulamentado;Declive;Em Obras' 'Reta;Desvio Temporário;Em Obras' 'Reta;Aclive;Em Obras' 'Curva;Aclive;Interseção de Vias' 'Reta;Interseção de Vias;Viaduto' 'Reta;Em Obras;Declive' 'Interseção de Vias;Retorno Regulamentado;Reta' 'Declive;Rotatória;Interseção de Vias' 'Reta;Aclive;Interseção de Vias' 'Ponte;Reta;Em Obras' 'Desvio Temporário;Curva;Em Obras' 'Rotatória;Interseção de Vias;Reta' 'Viaduto;Aclive;Curva' 'Reta;Em Obras;Aclive' 'Em Obras;Declive' 'Retorno Regulamentado;Reta;Em Obras' 'Viaduto;Interseção de Vias;Reta;Declive' 'Rotatória;Interseção de Vias;Retorno Regulamentado;Reta' 'Em Obras;Reta;Viaduto' 'Reta;Declive;Rotatória;Viaduto' 'Declive;Interseção de Vias;Curva' 'Reta;Declive;Viaduto' 'Em Obras;Ponte' 'Reta;Declive;Retorno Regulamentado' 'Curva;Declive;Interseção de Vias' 'Interseção de Vias;Retorno Regulamentado;Curva' 'Interseção de Vias;Ponte' 'Em Obras;Desvio Temporário;Curva' 'Em Obras;Aclive;Reta' 'Reta;Retorno Regulamentado;Aclive' 'Interseção de Vias;Declive;Rotatória' 'Aclive;Desvio Temporário;Curva' 'Viaduto;Reta;Declive' 'Viaduto;Rotatória' 'Em Obras;Desvio Temporário;Curva;Aclive' 'Rotatória;Desvio Temporário;Declive;Interseção de Vias;Em Obras;Reta' 'Em Obras;Reta;Interseção de Vias' 'Retorno Regulamentado;Curva;Aclive' 'Interseção de Vias;Em Obras;Reta' 'Retorno Regulamentado;Declive;Curva' 'Em Obras;Ponte;Reta' 'Interseção de Vias;Reta;Viaduto;Declive' 'Curva;Retorno Regulamentado;Declive' 'Declive;Rotatória' 'Curva;Interseção de Vias;Em Obras' 'Curva;Ponte;Declive' 'Em Obras;Curva;Ponte' 'Declive;Desvio Temporário;Reta' 'Curva;Ponte;Aclive' 'Em Obras;Viaduto;Aclive' 'Curva;Desvio Temporário;Interseção de Vias' 'Declive;Curva;Ponte' 'Retorno Regulamentado;Rotatória;Interseção de Vias' 'Rotatória;Viaduto;Reta' 'Em Obras;Interseção de Vias;Curva' 'Rotatória;Retorno Regulamentado;Viaduto' 'Interseção de Vias;Curva;Rotatória;Retorno Regulamentado' 'Interseção de Vias;Em Obras;Declive;Reta' 'Desvio Temporário;Declive' 'Declive;Desvio Temporário;Em Obras;Curva' 'Ponte;Aclive' 'Curva;Túnel' 'Interseção de Vias;Rotatória;Retorno Regulamentado;Reta' 'Retorno Regulamentado;Aclive;Reta' 'Interseção de Vias;Rotatória;Aclive' 'Declive;Curva;Viaduto' 'Viaduto;Interseção de Vias' 'Ponte;Aclive;Reta' 'Aclive;Retorno Regulamentado;Curva;Interseção de Vias' 'Viaduto;Reta;Em Obras' 'Em Obras;Retorno Regulamentado' 'Viaduto;Curva;Rotatória' 'Reta;Túnel;Declive' 'Aclive;Interseção de Vias;Curva' 'Curva;Viaduto;Declive' 'Rotatória;Curva;Interseção de Vias;Retorno Regulamentado' 'Em Obras;Aclive;Curva' 'Viaduto;Declive;Interseção de Vias' 'Em Obras;Viaduto;Curva' 'Reta;Aclive;Retorno Regulamentado' 'Em Obras;Declive;Ponte' 'Rotatória;Interseção de Vias;Viaduto' 'Reta;Em Obras;Viaduto;Rotatória' 'Declive;Reta;Em Obras;Ponte' 'Reta;Viaduto;Aclive' 'Em Obras;Ponte;Reta;Desvio Temporário' 'Curva;Desvio Temporário;Em Obras' 'Viaduto;Declive' 'Curva;Aclive;Rotatória' 'Curva;Interseção de Vias;Aclive' 'Interseção de Vias;Túnel' 'Declive;Viaduto;Reta;Interseção de Vias;Rotatória' 'Interseção de Vias;Curva;Aclive' 'Reta;Retorno Regulamentado;Rotatória' 'Viaduto;Declive;Curva' 'Em Obras;Rotatória;Reta' 'Interseção de Vias;Reta;Declive;Rotatória;Em Obras' 'Em Obras;Aclive' 'Interseção de Vias;Declive;Retorno Regulamentado;Curva' 'Rotatória;Retorno Regulamentado' 'Reta;Rotatória;Interseção de Vias' 'Curva;Desvio Temporário;Declive' 'Ponte;Reta;Aclive' 'Reta;Rotatória;Viaduto' 'Em Obras;Curva;Aclive' 'Declive;Reta;Em Obras;Desvio Temporário' 'Em Obras;Reta;Interseção de Vias;Declive' 'Rotatória;Retorno Regulamentado;Interseção de Vias;Declive' 'Rotatória;Em Obras;Reta' 'Rotatória;Interseção de Vias;Em Obras' 'Aclive;Túnel;Reta' 'Curva;Retorno Regulamentado;Interseção de Vias;Aclive' 'Ponte;Em Obras;Reta' 'Interseção de Vias;Viaduto;Declive;Reta' 'Retorno Regulamentado;Reta;Aclive' 'Interseção de Vias;Declive;Reta;Em Obras' 'Reta;Interseção de Vias;Em Obras;Declive' 'Aclive;Curva;Retorno Regulamentado' 'Retorno Regulamentado;Interseção de Vias;Viaduto' 'Túnel;Reta;Aclive' 'Declive;Retorno Regulamentado;Curva;Viaduto' 'Curva;Interseção de Vias;Viaduto' 'Declive;Curva;Retorno Regulamentado' 'Ponte;Interseção de Vias' 'Em Obras;Retorno Regulamentado;Curva;Rotatória' 'Aclive;Curva;Interseção de Vias;Viaduto;Rotatória' 'Declive;Em Obras;Desvio Temporário' 'Declive;Desvio Temporário;Em Obras' 'Retorno Regulamentado;Curva;Interseção de Vias;Viaduto' 'Reta;Retorno Regulamentado;Declive' 'Retorno Regulamentado;Aclive;Curva' 'Declive;Ponte;Em Obras' 'Ponte;Aclive;Curva' 'Reta;Interseção de Vias;Rotatória;Aclive' 'Interseção de Vias;Rotatória;Viaduto' 'Curva;Em Obras;Declive' 'Aclive;Interseção de Vias;Rotatória;Reta' 'Rotatória;Declive;Interseção de Vias' 'Aclive;Reta;Rotatória' 'Declive;Curva;Em Obras;Desvio Temporário' 'Reta;Declive;Interseção de Vias;Viaduto' 'Ponte;Reta;Desvio Temporário' 'Curva;Em Obras;Ponte' 'Rotatória;Reta;Declive;Interseção de Vias;Viaduto' 'Curva;Declive;Viaduto;Interseção de Vias' 'Reta;Desvio Temporário;Ponte' 'Declive;Reta;Em Obras;Viaduto' 'Aclive;Reta;Retorno Regulamentado;Interseção de Vias' 'Aclive;Curva;Em Obras' 'Viaduto;Retorno Regulamentado;Curva' 'Curva;Desvio Temporário' 'Curva;Aclive;Desvio Temporário;Em Obras' 'Interseção de Vias;Curva;Declive' 'Curva;Interseção de Vias;Declive' 'Em Obras;Declive;Desvio Temporário;Curva' 'Declive;Rotatória;Reta' 'Em Obras;Curva;Desvio Temporário' 'Aclive;Em Obras;Curva' 'Curva;Retorno Regulamentado;Viaduto' 'Em Obras;Reta;Retorno Regulamentado' 'Interseção de Vias;Rotatória;Em Obras' 'Reta;Em Obras;Rotatória;Retorno Regulamentado' 'Interseção de Vias;Ponte;Reta' 'Rotatória;Curva;Declive;Retorno Regulamentado' 'Em Obras;Retorno Regulamentado;Rotatória;Interseção de Vias' 'Desvio Temporário;Declive;Em Obras;Reta' 'Em Obras;Declive;Desvio Temporário;Reta' 'Túnel;Curva;Declive' 'Declive;Retorno Regulamentado;Interseção de Vias' 'Viaduto;Retorno Regulamentado' 'Aclive;Interseção de Vias;Retorno Regulamentado' 'Viaduto;Aclive;Interseção de Vias;Curva;Retorno Regulamentado' 'Curva;Rotatória;Declive' 'Desvio Temporário;Ponte;Em Obras;Reta' 'Viaduto;Interseção de Vias;Reta' 'Curva;Viaduto;Interseção de Vias' 'Aclive;Em Obras;Interseção de Vias;Curva' 'Reta;Rotatória;Em Obras' 'Em Obras;Aclive;Curva;Desvio Temporário' 'Rotatória;Curva;Interseção de Vias' 'Interseção de Vias;Desvio Temporário' 'Rotatória;Viaduto;Interseção de Vias' 'Em Obras;Retorno Regulamentado;Curva' 'Viaduto;Rotatória;Reta' 'Em Obras;Interseção de Vias;Retorno Regulamentado' 'Em Obras;Ponte;Desvio Temporário' 'Rotatória;Aclive;Curva;Viaduto' 'Viaduto;Reta;Interseção de Vias' 'Declive;Rotatória;Retorno Regulamentado;Reta;Interseção de Vias' 'Interseção de Vias;Curva;Rotatória' 'Rotatória;Reta;Aclive' 'Aclive;Interseção de Vias;Curva;Retorno Regulamentado' 'Declive;Interseção de Vias;Em Obras;Curva' 'Retorno Regulamentado;Aclive;Interseção de Vias;Reta' 'Em Obras;Aclive;Rotatória;Reta' 'Interseção de Vias;Aclive;Rotatória' 'Retorno Regulamentado;Declive' 'Reta;Aclive;Desvio Temporário' 'Em Obras;Interseção de Vias;Curva;Rotatória' 'Interseção de Vias;Rotatória;Reta;Retorno Regulamentado' 'Aclive;Viaduto;Curva' 'Interseção de Vias;Viaduto;Retorno Regulamentado' 'Curva;Declive;Retorno Regulamentado' 'Em Obras;Declive;Reta;Viaduto' 'Ponte;Interseção de Vias;Reta' 'Ponte;Curva;Em Obras;Aclive' 'Interseção de Vias;Viaduto;Declive' 'Declive;Retorno Regulamentado;Reta;Interseção de Vias' 'Interseção de Vias;Em Obras;Reta;Retorno Regulamentado' 'Desvio Temporário;Em Obras;Reta;Aclive' 'Desvio Temporário;Reta;Declive;Em Obras' 'Rotatória;Reta;Interseção de Vias;Declive' 'Viaduto;Curva;Ponte;Interseção de Vias' 'Desvio Temporário;Declive;Curva' 'Interseção de Vias;Rotatória;Retorno Regulamentado;Curva' 'Rotatória;Em Obras;Interseção de Vias;Viaduto' 'Viaduto;Túnel' 'Declive;Reta;Viaduto' 'Interseção de Vias;Rotatória;Viaduto;Curva' 'Interseção de Vias;Reta;Em Obras;Viaduto' 'Em Obras;Reta;Ponte' 'Curva;Aclive;Rotatória;Interseção de Vias' 'Em Obras;Declive;Reta;Interseção de Vias' 'Interseção de Vias;Reta;Em Obras;Aclive;Retorno Regulamentado' 'Interseção de Vias;Curva;Declive;Viaduto' 'Declive;Desvio Temporário;Reta;Em Obras' 'Interseção de Vias;Reta;Em Obras' 'Interseção de Vias;Retorno Regulamentado;Em Obras' 'Rotatória;Viaduto;Interseção de Vias;Reta' 'Retorno Regulamentado;Curva;Declive' 'Reta;Interseção de Vias;Aclive;Viaduto' 'Retorno Regulamentado;Aclive;Interseção de Vias;Rotatória;Curva' 'Retorno Regulamentado;Aclive;Reta;Em Obras' 'Interseção de Vias;Retorno Regulamentado;Aclive' 'Interseção de Vias;Retorno Regulamentado;Declive;Curva' 'Desvio Temporário;Declive;Reta;Em Obras' 'Aclive;Retorno Regulamentado;Reta' 'Reta;Interseção de Vias;Retorno Regulamentado;Rotatória' 'Retorno Regulamentado;Em Obras;Curva' 'Reta;Desvio Temporário;Em Obras;Viaduto' 'Interseção de Vias;Retorno Regulamentado;Túnel' 'Interseção de Vias;Retorno Regulamentado;Desvio Temporário;Em Obras' 'Aclive;Rotatória;Retorno Regulamentado;Reta' 'Reta;Interseção de Vias;Em Obras;Desvio Temporário' 'Reta;Desvio Temporário;Em Obras;Declive;Viaduto' 'Viaduto;Curva;Interseção de Vias;Rotatória' 'Rotatória;Viaduto;Curva' 'Viaduto;Interseção de Vias;Em Obras' 'Desvio Temporário;Reta;Em Obras;Aclive' 'Reta;Aclive;Interseção de Vias;Viaduto' 'Viaduto;Curva;Declive' 'Reta;Interseção de Vias;Retorno Regulamentado;Aclive' 'Viaduto;Aclive;Interseção de Vias' 'Em Obras;Rotatória;Viaduto;Curva' 'Reta;Desvio Temporário;Em Obras;Declive' 'Desvio Temporário;Em Obras;Viaduto;Interseção de Vias' 'Retorno Regulamentado;Rotatória;Curva' 'Rotatória;Em Obras;Retorno Regulamentado;Interseção de Vias' 'Viaduto;Em Obras' 'Em Obras;Desvio Temporário;Curva;Declive;Interseção de Vias' 'Rotatória;Retorno Regulamentado;Reta;Interseção de Vias' 'Ponte;Reta;Declive;Desvio Temporário;Em Obras' 'Desvio Temporário;Reta;Ponte;Em Obras' 'Curva;Viaduto;Interseção de Vias;Declive' 'Viaduto;Curva;Declive;Interseção de Vias' 'Reta;Rotatória;Declive' 'Declive;Interseção de Vias;Em Obras;Reta' 'Interseção de Vias;Em Obras;Desvio Temporário' 'Reta;Aclive;Rotatória' 'Reta;Declive;Interseção de Vias;Viaduto;Em Obras' 'Retorno Regulamentado;Interseção de Vias;Em Obras' 'Retorno Regulamentado;Reta;Interseção de Vias;Declive' 'Declive;Em Obras;Viaduto;Reta' 'Reta;Ponte;Em Obras' 'Rotatória;Reta;Retorno Regulamentado' 'Ponte;Viaduto;Reta' 'Curva;Viaduto;Rotatória;Interseção de Vias' 'Declive;Desvio Temporário;Em Obras;Reta' 'Retorno Regulamentado;Viaduto;Interseção de Vias' 'Rotatória;Interseção de Vias;Viaduto;Retorno Regulamentado' 'Retorno Regulamentado;Viaduto;Curva' 'Interseção de Vias;Reta;Viaduto' 'Reta;Declive;Interseção de Vias;Viaduto;Retorno Regulamentado' 'Curva;Aclive;Retorno Regulamentado' 'Rotatória;Retorno Regulamentado;Interseção de Vias' 'Desvio Temporário;Em Obras;Viaduto' 'Reta;Em Obras;Interseção de Vias;Desvio Temporário' 'Em Obras;Declive;Retorno Regulamentado;Reta' 'Declive;Interseção de Vias;Reta;Em Obras' 'Desvio Temporário;Rotatória;Interseção de Vias;Em Obras;Retorno Regulamentado;Viaduto' 'Reta;Rotatória;Interseção de Vias;Viaduto' 'Aclive;Reta;Interseção de Vias;Em Obras' 'Desvio Temporário;Reta;Interseção de Vias;Em Obras' 'Declive;Curva;Interseção de Vias;Viaduto' 'Desvio Temporário;Interseção de Vias;Em Obras' 'Aclive;Interseção de Vias;Rotatória;Viaduto' 'Aclive;Reta;Ponte' 'Rotatória;Viaduto;Em Obras' 'Curva;Desvio Temporário;Viaduto' 'Interseção de Vias;Retorno Regulamentado;Viaduto;Reta' 'Declive;Viaduto;Curva;Em Obras' 'Curva;Interseção de Vias;Retorno Regulamentado' 'Retorno Regulamentado;Declive;Viaduto;Reta' 'Rotatória;Curva;Aclive' 'Reta;Túnel' 'Desvio Temporário;Em Obras;Reta;Ponte' 'Aclive;Retorno Regulamentado;Reta;Interseção de Vias' 'Interseção de Vias;Desvio Temporário;Reta' 'Ponte;Em Obras;Curva' 'Interseção de Vias;Reta;Rotatória;Declive' 'Reta;Em Obras;Viaduto' 'Desvio Temporário;Retorno Regulamentado;Reta;Interseção de Vias;Em Obras' 'Curva;Interseção de Vias;Retorno Regulamentado;Em Obras' 'Rotatória;Retorno Regulamentado;Reta' 'Rotatória;Interseção de Vias;Retorno Regulamentado' 'Retorno Regulamentado;Viaduto;Reta' 'Retorno Regulamentado;Túnel;Curva' 'Retorno Regulamentado;Interseção de Vias;Curva' 'Aclive;Rotatória;Retorno Regulamentado' 'Rotatória;Retorno Regulamentado;Reta;Interseção de Vias;Aclive' 'Interseção de Vias;Aclive;Viaduto' 'Rotatória;Declive;Viaduto;Interseção de Vias' 'Reta;Ponte;Desvio Temporário;Em Obras' 'Reta;Declive;Viaduto;Interseção de Vias' 'Em Obras;Desvio Temporário;Retorno Regulamentado' 'Reta;Declive;Interseção de Vias;Em Obras' 'Rotatória;Reta;Interseção de Vias;Retorno Regulamentado' 'Interseção de Vias;Rotatória;Aclive;Reta' 'Retorno Regulamentado;Em Obras;Reta;Interseção de Vias' 'Rotatória;Declive;Reta' 'Interseção de Vias;Curva;Aclive;Viaduto' 'Viaduto;Interseção de Vias;Curva' 'Declive;Reta;Rotatória' 'Reta;Declive;Interseção de Vias;Rotatória' 'Em Obras;Viaduto;Desvio Temporário;Aclive' 'Interseção de Vias;Em Obras;Retorno Regulamentado' 'Viaduto;Retorno Regulamentado;Interseção de Vias' 'Declive;Interseção de Vias;Rotatória;Curva' 'Túnel;Curva;Interseção de Vias' 'Reta;Rotatória;Aclive' 'Interseção de Vias;Reta;Retorno Regulamentado;Rotatória' 'Aclive;Curva;Ponte' 'Em Obras;Curva;Declive;Desvio Temporário' 'Em Obras;Curva;Ponte;Aclive' 'Reta;Aclive;Retorno Regulamentado;Interseção de Vias' 'Rotatória;Em Obras;Interseção de Vias' 'Reta;Declive;Interseção de Vias;Rotatória;Retorno Regulamentado' 'Retorno Regulamentado;Declive;Interseção de Vias' 'Reta;Em Obras;Interseção de Vias;Declive' 'Em Obras;Rotatória;Curva;Declive;Desvio Temporário' 'Reta;Desvio Temporário;Em Obras;Declive;Interseção de Vias' 'Rotatória;Aclive;Reta' 'Retorno Regulamentado;Túnel' 'Curva;Declive;Interseção de Vias;Viaduto' 'Interseção de Vias;Reta;Ponte' 'Curva;Interseção de Vias;Aclive;Retorno Regulamentado' 'Reta;Interseção de Vias;Rotatória;Retorno Regulamentado' 'Curva;Aclive;Em Obras;Viaduto' 'Curva;Em Obras;Desvio Temporário;Declive' 'Em Obras;Interseção de Vias;Declive' 'Reta;Desvio Temporário;Declive' 'Ponte;Desvio Temporário;Em Obras;Reta' 'Curva;Desvio Temporário;Declive;Em Obras' 'Ponte;Declive;Interseção de Vias' 'Rotatória;Retorno Regulamentado;Desvio Temporário;Em Obras' 'Rotatória;Viaduto;Reta;Interseção de Vias' 'Declive;Reta;Interseção de Vias;Viaduto' 'Interseção de Vias;Declive;Em Obras' 'Declive;Curva;Em Obras;Ponte' 'Em Obras;Reta;Desvio Temporário;Aclive' 'Curva;Viaduto;Retorno Regulamentado;Rotatória' 'Em Obras;Reta;Ponte;Desvio Temporário' 'Curva;Em Obras;Aclive' 'Viaduto;Reta;Rotatória' 'Interseção de Vias;Viaduto;Reta;Retorno Regulamentado' 'Interseção de Vias;Viaduto;Retorno Regulamentado;Curva;Ponte' 'Declive;Em Obras;Interseção de Vias;Rotatória;Desvio Temporário' 'Rotatória;Declive;Curva;Interseção de Vias' 'Interseção de Vias;Rotatória;Retorno Regulamentado' 'Reta;Viaduto;Interseção de Vias;Rotatória' 'Rotatória;Declive;Reta;Interseção de Vias' 'Curva;Desvio Temporário;Em Obras;Ponte' 'Reta;Túnel;Em Obras;Desvio Temporário' 'Interseção de Vias;Retorno Regulamentado;Reta;Viaduto' 'Interseção de Vias;Túnel;Reta;Declive' 'Retorno Regulamentado;Curva;Ponte' 'Declive;Curva;Em Obras;Retorno Regulamentado' 'Reta;Retorno Regulamentado;Ponte' 'Desvio Temporário;Curva;Em Obras;Aclive' 'Viaduto;Reta;Aclive;Em Obras' 'Reta;Interseção de Vias;Declive;Em Obras' 'Desvio Temporário;Retorno Regulamentado;Interseção de Vias;Em Obras' 'Curva;Túnel;Declive' 'Viaduto;Reta;Aclive;Interseção de Vias' 'Aclive;Em Obras;Viaduto;Reta' 'Curva;Retorno Regulamentado;Interseção de Vias' 'Declive;Viaduto;Em Obras;Curva' 'Rotatória;Interseção de Vias;Em Obras;Reta' 'Aclive;Desvio Temporário' 'Retorno Regulamentado;Reta;Em Obras;Rotatória' 'Viaduto;Retorno Regulamentado;Interseção de Vias;Em Obras' 'Interseção de Vias;Rotatória;Reta;Em Obras' 'Reta;Em Obras;Retorno Regulamentado' 'Ponte;Em Obras' 'Retorno Regulamentado;Reta;Em Obras;Desvio Temporário;Interseção de Vias' 'Aclive;Interseção de Vias;Viaduto;Rotatória' 'Viaduto;Retorno Regulamentado;Reta;Aclive' 'Viaduto;Interseção de Vias;Aclive' 'Interseção de Vias;Declive;Reta;Viaduto' 'Ponte;Viaduto;Curva;Interseção de Vias;Aclive' 'Aclive;Curva;Rotatória' 'Aclive;Em Obras;Desvio Temporário;Interseção de Vias;Curva' 'Aclive;Desvio Temporário;Em Obras;Reta' 'Viaduto;Em Obras;Curva' 'Retorno Regulamentado;Em Obras' 'Curva;Viaduto;Retorno Regulamentado' 'Interseção de Vias;Rotatória;Viaduto;Em Obras' 'Retorno Regulamentado;Declive;Rotatória' 'Aclive;Reta;Viaduto;Rotatória' 'Rotatória;Reta;Em Obras' 'Reta;Interseção de Vias;Viaduto;Rotatória' 'Túnel;Interseção de Vias' 'Aclive;Viaduto;Em Obras' 'Viaduto;Declive;Reta;Em Obras' 'Em Obras;Desvio Temporário;Interseção de Vias;Reta' 'Aclive;Viaduto;Reta;Em Obras' 'Declive;Retorno Regulamentado;Curva;Interseção de Vias' 'Retorno Regulamentado;Curva;Interseção de Vias' 'Em Obras;Curva;Desvio Temporário;Interseção de Vias;Rotatória' 'Retorno Regulamentado;Curva;Declive;Viaduto' 'Desvio Temporário;Túnel;Interseção de Vias;Em Obras;Ponte;Declive;Retorno Regulamentado;Viaduto' 'Declive;Em Obras;Desvio Temporário;Reta' 'Aclive;Interseção de Vias;Viaduto;Reta' 'Desvio Temporário;Em Obras;Viaduto;Curva' 'Aclive;Curva;Interseção de Vias;Viaduto' 'Túnel;Interseção de Vias;Viaduto;Aclive;Reta' 'Declive;Curva;Interseção de Vias;Rotatória' 'Ponte;Interseção de Vias;Rotatória;Viaduto;Retorno Regulamentado' 'Interseção de Vias;Rotatória;Curva;Retorno Regulamentado' 'Aclive;Interseção de Vias;Reta;Retorno Regulamentado' 'Aclive;Desvio Temporário;Viaduto;Em Obras;Curva' 'Interseção de Vias;Retorno Regulamentado;Declive;Reta' 'Interseção de Vias;Rotatória;Reta;Em Obras;Retorno Regulamentado' 'Desvio Temporário;Declive;Em Obras' 'Rotatória;Em Obras;Reta;Interseção de Vias' 'Declive;Interseção de Vias;Em Obras' 'Interseção de Vias;Retorno Regulamentado;Declive' 'Em Obras;Declive;Interseção de Vias;Reta' 'Reta;Em Obras;Aclive;Interseção de Vias' 'Desvio Temporário;Reta;Aclive' 'Declive;Reta;Interseção de Vias;Em Obras' 'Viaduto;Reta;Retorno Regulamentado;Interseção de Vias' 'Reta;Retorno Regulamentado;Aclive;Interseção de Vias' 'Em Obras;Desvio Temporário;Declive;Curva' 'Interseção de Vias;Aclive;Curva' 'Desvio Temporário;Em Obras;Curva;Declive' 'Desvio Temporário;Reta;Declive;Ponte;Em Obras' 'Curva;Aclive;Viaduto;Retorno Regulamentado' 'Ponte;Curva;Aclive' 'Em Obras;Rotatória;Retorno Regulamentado' 'Curva;Desvio Temporário;Em Obras;Aclive' 'Rotatória;Aclive;Curva' 'Interseção de Vias;Declive;Retorno Regulamentado' 'Reta;Aclive;Em Obras;Desvio Temporário' 'Reta;Em Obras;Túnel;Desvio Temporário' 'Em Obras;Rotatória;Curva' 'Interseção de Vias;Retorno Regulamentado;Reta;Declive' 'Curva;Interseção de Vias;Ponte' 'Curva;Ponte;Interseção de Vias;Aclive;Em Obras;Viaduto' 'Viaduto;Declive;Em Obras' 'Interseção de Vias;Aclive;Reta;Viaduto' 'Curva;Interseção de Vias;Rotatória;Em Obras;Declive' 'Interseção de Vias;Reta;Declive;Rotatória' 'Declive;Curva;Rotatória;Viaduto' 'Em Obras;Declive;Desvio Temporário' 'Retorno Regulamentado;Rotatória;Interseção de Vias;Reta' 'Declive;Curva;Desvio Temporário' 'Reta;Viaduto;Aclive;Em Obras' 'Interseção de Vias;Reta;Rotatória;Em Obras' 'Desvio Temporário;Aclive;Reta;Em Obras' 'Curva;Retorno Regulamentado;Rotatória' 'Reta;Retorno Regulamentado;Interseção de Vias;Viaduto;Em Obras' 'Reta;Interseção de Vias;Rotatória;Declive' 'Declive;Retorno Regulamentado;Rotatória' 'Interseção de Vias;Retorno Regulamentado;Viaduto' 'Em Obras;Retorno Regulamentado;Interseção de Vias;Reta' 'Aclive;Ponte' 'Reta;Desvio Temporário;Aclive' 'Declive;Curva;Em Obras;Desvio Temporário;Ponte' 'Curva;Rotatória;Em Obras' 'Curva;Interseção de Vias;Retorno Regulamentado;Declive' 'Reta;Em Obras;Ponte;Declive;Desvio Temporário' 'Em Obras;Reta;Viaduto;Aclive' 'Interseção de Vias;Viaduto;Curva;Aclive' 'Reta;Em Obras;Aclive;Desvio Temporário' 'Reta;Declive;Túnel' 'Desvio Temporário;Aclive;Curva;Em Obras' 'Aclive;Ponte;Curva;Viaduto' 'Declive;Interseção de Vias;Viaduto' 'Desvio Temporário;Curva;Declive' 'Reta;Declive;Interseção de Vias;Rotatória;Ponte;Em Obras' 'Curva;Declive;Rotatória;Interseção de Vias' 'Declive;Em Obras;Reta;Desvio Temporário' 'Reta;Em Obras;Viaduto;Aclive' 'Ponte;Reta;Interseção de Vias' 'Declive;Túnel' 'Reta;Declive;Desvio Temporário;Em Obras' 'Rotatória;Aclive;Retorno Regulamentado;Curva' 'Desvio Temporário;Curva;Aclive;Em Obras' 'Reta;Viaduto;Em Obras' 'Reta;Declive;Viaduto;Retorno Regulamentado' 'Viaduto;Em Obras;Aclive' 'Interseção de Vias;Reta;Em Obras;Declive' 'Interseção de Vias;Curva;Declive;Retorno Regulamentado' 'Reta;Desvio Temporário;Aclive;Em Obras' 'Interseção de Vias;Retorno Regulamentado;Reta;Em Obras' 'Retorno Regulamentado;Interseção de Vias;Reta;Viaduto;Declive' 'Em Obras;Rotatória;Viaduto' 'Retorno Regulamentado;Reta;Declive;Interseção de Vias' 'Reta;Retorno Regulamentado;Em Obras' 'Declive;Curva;Túnel' 'Rotatória;Aclive;Interseção de Vias' 'Reta;Ponte;Viaduto' 'Declive;Reta;Desvio Temporário;Em Obras' 'Em Obras;Curva;Retorno Regulamentado' 'Reta;Em Obras;Declive;Túnel' 'Retorno Regulamentado;Aclive;Interseção de Vias' 'Curva;Rotatória;Retorno Regulamentado' 'Reta;Desvio Temporário;Retorno Regulamentado' 'Interseção de Vias;Viaduto;Curva;Retorno Regulamentado;Aclive' 'Aclive;Reta;Desvio Temporário;Em Obras' 'Viaduto;Interseção de Vias;Túnel' 'Retorno Regulamentado;Ponte;Reta' 'Reta;Viaduto;Retorno Regulamentado' 'Interseção de Vias;Em Obras;Declive' 'Curva;Declive;Desvio Temporário;Em Obras' 'Rotatória;Em Obras;Viaduto' 'Interseção de Vias;Em Obras;Rotatória;Reta' 'Viaduto;Rotatória;Retorno Regulamentado;Interseção de Vias' 'Desvio Temporário;Em Obras;Ponte' 'Interseção de Vias;Reta;Aclive;Retorno Regulamentado' 'Interseção de Vias;Reta;Aclive;Viaduto' 'Desvio Temporário;Ponte;Em Obras' 'Rotatória;Curva;Aclive;Interseção de Vias' 'Reta;Interseção de Vias;Desvio Temporário;Em Obras' 'Rotatória;Aclive;Retorno Regulamentado;Reta' 'Declive;Rotatória;Retorno Regulamentado' 'Curva;Viaduto;Aclive;Interseção de Vias' 'Reta;Viaduto;Retorno Regulamentado;Interseção de Vias' 'Reta;Interseção de Vias;Em Obras;Aclive' 'Retorno Regulamentado;Curva;Interseção de Vias;Aclive' 'Reta;Interseção de Vias;Aclive;Retorno Regulamentado' 'Viaduto;Ponte' 'Reta;Interseção de Vias;Rotatória;Viaduto' 'Reta;Interseção de Vias;Declive;Viaduto' 'Reta;Em Obras;Desvio Temporário;Ponte' 'Declive;Desvio Temporário;Reta;Interseção de Vias' 'Em Obras;Interseção de Vias;Rotatória' 'Reta;Interseção de Vias;Viaduto;Em Obras' 'Viaduto;Rotatória;Curva;Interseção de Vias' 'Em Obras;Interseção de Vias;Aclive' 'Interseção de Vias;Declive;Retorno Regulamentado;Viaduto' 'Interseção de Vias;Aclive;Retorno Regulamentado' 'Retorno Regulamentado;Em Obras;Declive;Curva' 'Retorno Regulamentado;Aclive;Viaduto' 'Rotatória;Curva;Em Obras' 'Rotatória;Desvio Temporário' 'Rotatória;Aclive;Retorno Regulamentado' 'Reta;Viaduto;Túnel;Declive;Interseção de Vias' 'Interseção de Vias;Desvio Temporário;Em Obras;Reta' 'Reta;Em Obras;Desvio Temporário;Interseção de Vias' 'Reta;Em Obras;Viaduto;Interseção de Vias' 'Aclive;Reta;Desvio Temporário' 'Interseção de Vias;Reta;Viaduto;Rotatória' 'Interseção de Vias;Aclive;Reta;Rotatória' 'Curva;Rotatória;Viaduto' 'Em Obras;Túnel;Reta;Desvio Temporário' 'Retorno Regulamentado;Túnel;Declive' 'Curva;Túnel;Viaduto' 'Interseção de Vias;Aclive;Reta;Retorno Regulamentado;Rotatória' 'Interseção de Vias;Rotatória;Reta;Declive' 'Interseção de Vias;Reta;Desvio Temporário' 'Curva;Declive;Retorno Regulamentado;Viaduto' 'Interseção de Vias;Declive;Viaduto;Túnel;Reta' 'Interseção de Vias;Em Obras;Desvio Temporário;Reta' 'Desvio Temporário;Em Obras;Retorno Regulamentado' 'Interseção de Vias;Reta;Retorno Regulamentado;Declive' 'Declive;Viaduto;Retorno Regulamentado' 'Interseção de Vias;Curva;Rotatória;Em Obras;Viaduto' 'Em Obras;Viaduto;Reta;Túnel' 'Interseção de Vias;Reta;Túnel' 'Retorno Regulamentado;Interseção de Vias;Curva;Rotatória' 'Declive;Rotatória;Reta;Retorno Regulamentado' 'Aclive;Curva;Viaduto;Retorno Regulamentado;Rotatória' 'Declive;Interseção de Vias;Viaduto;Ponte' 'Retorno Regulamentado;Interseção de Vias;Viaduto;Reta' 'Declive;Interseção de Vias;Rotatória;Reta' 'Declive;Interseção de Vias;Viaduto;Reta' 'Declive;Em Obras;Viaduto' 'Retorno Regulamentado;Interseção de Vias;Aclive;Reta;Em Obras' 'Aclive;Retorno Regulamentado;Viaduto;Reta' 'Declive;Interseção de Vias;Reta;Viaduto' 'Curva;Aclive;Retorno Regulamentado;Viaduto' 'Desvio Temporário;Viaduto;Reta;Em Obras' 'Curva;Interseção de Vias;Viaduto;Retorno Regulamentado' 'Ponte;Curva;Em Obras' 'Curva;Interseção de Vias;Retorno Regulamentado;Viaduto' 'Interseção de Vias;Declive;Viaduto' 'Aclive;Retorno Regulamentado;Interseção de Vias;Reta' 'Curva;Aclive;Ponte' 'Em Obras;Interseção de Vias;Viaduto;Reta' 'Em Obras;Ponte;Viaduto;Reta' 'Desvio Temporário;Rotatória;Em Obras' 'Curva;Interseção de Vias;Viaduto;Rotatória' 'Em Obras;Declive;Reta;Desvio Temporário' 'Retorno Regulamentado;Aclive;Viaduto;Curva' 'Curva;Rotatória;Declive;Viaduto' 'Em Obras;Interseção de Vias;Curva;Desvio Temporário' 'Rotatória;Viaduto;Declive' 'Interseção de Vias;Rotatória;Reta;Viaduto;Retorno Regulamentado' 'Retorno Regulamentado;Reta;Túnel' 'Retorno Regulamentado;Rotatória;Declive' 'Reta;Aclive;Desvio Temporário;Viaduto' 'Reta;Aclive;Interseção de Vias;Rotatória' 'Rotatória;Declive;Viaduto' 'Reta;Declive;Interseção de Vias;Retorno Regulamentado' 'Declive;Interseção de Vias;Ponte' 'Reta;Retorno Regulamentado;Aclive;Interseção de Vias;Em Obras' 'Rotatória;Viaduto;Interseção de Vias;Retorno Regulamentado;Reta' 'Desvio Temporário;Em Obras;Declive' 'Viaduto;Rotatória;Curva;Em Obras' 'Interseção de Vias;Reta;Viaduto;Em Obras' 'Reta;Ponte;Interseção de Vias;Viaduto' 'Reta;Retorno Regulamentado;Viaduto' 'Viaduto;Declive;Curva;Em Obras' 'Desvio Temporário;Declive;Retorno Regulamentado' 'Curva;Túnel;Declive;Retorno Regulamentado' 'Reta;Interseção de Vias;Declive;Retorno Regulamentado' 'Interseção de Vias;Em Obras;Curva;Aclive' 'Interseção de Vias;Curva;Em Obras' 'Reta;Retorno Regulamentado;Viaduto;Interseção de Vias' 'Rotatória;Reta;Viaduto' 'Desvio Temporário;Reta;Aclive;Interseção de Vias' 'Reta;Interseção de Vias;Declive;Desvio Temporário;Em Obras' 'Viaduto;Rotatória;Interseção de Vias;Em Obras' 'Rotatória;Curva;Retorno Regulamentado' 'Ponte;Reta;Declive;Interseção de Vias' 'Rotatória;Desvio Temporário;Em Obras' 'Curva;Ponte;Viaduto' 'Interseção de Vias;Ponte;Reta;Em Obras;Declive' 'Túnel;Reta;Interseção de Vias' 'Declive;Interseção de Vias;Curva;Retorno Regulamentado' 'Interseção de Vias;Em Obras;Declive;Viaduto'] uso_solo ['Sim' 'Não'] feridos [ 1 3 2 0 4 7 15 6 5 9 11 49 19 8 10 20 14 22 27 12 13 21 23 30 18 39 43 17 16 24 26 32 84 40 36 38 37 45 33 42 57 62 61 29 44 25 31 50 34] veiculos [ 2 6 4 5 1 3 7 8 9 10 12 11 13 15 20 14 17 16 26 24 18 25 19 131] latitude [-23.48586772 -7.812288 -23.182565 ... '-26,92203838' '-3,40552588' '-18,91385522'] longitude [-46.54075317 -39.08333306 -50.637228 ... '-48,95884931' '-44,35174989' '-48,17243636']
df.replace({'Ignorado': None}, inplace=True)
df.isnull().sum()
data_inversa 0 dia_semana 0 causa_acidente 0 tipo_acidente 0 classificacao_acidente 3 fase_dia 0 sentido_via 0 condicao_metereologica 1834 tipo_pista 0 tracado_via 0 uso_solo 0 feridos 0 veiculos 0 latitude 0 longitude 0 dtype: int64
df.dropna(inplace=True)
df
| data_inversa | dia_semana | causa_acidente | tipo_acidente | classificacao_acidente | fase_dia | sentido_via | condicao_metereologica | tipo_pista | tracado_via | uso_solo | feridos | veiculos | latitude | longitude | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2025-01-01 | quarta-feira | Reação tardia ou ineficiente do condutor | Tombamento | Com Vítimas Feridas | Pleno dia | Decrescente | Céu Claro | Múltipla | Reta;Declive | Sim | 1 | 2 | -23.485868 | -46.540753 |
| 1 | 2025-01-01 | quarta-feira | Pista esburacada | Colisão frontal | Com Vítimas Fatais | Pleno dia | Crescente | Céu Claro | Simples | Reta | Não | 1 | 6 | -7.812288 | -39.083333 |
| 2 | 2025-01-01 | quarta-feira | Reação tardia ou ineficiente do condutor | Colisão traseira | Com Vítimas Feridas | Pleno dia | Crescente | Sol | Dupla | Reta;Aclive | Sim | 3 | 2 | -23.182565 | -50.637228 |
| 3 | 2025-01-01 | quarta-feira | Reação tardia ou ineficiente do condutor | Saída de leito carroçável | Com Vítimas Feridas | Pleno dia | Crescente | Céu Claro | Dupla | Reta | Não | 1 | 2 | -25.365177 | -49.04223 |
| 4 | 2025-01-01 | quarta-feira | Velocidade Incompatível | Colisão frontal | Com Vítimas Feridas | Pleno dia | Decrescente | Chuva | Simples | Curva;Declive | Não | 2 | 4 | -16.468013 | -43.431213 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 67760 | 2023-09-24 | domingo | Ausência de reação do condutor | Colisão frontal | Com Vítimas Feridas | Amanhecer | Decrescente | Céu Claro | Simples | Reta | Sim | 3 | 2 | -26,92203838 | -48,95884931 |
| 67761 | 2023-04-19 | quarta-feira | Pedestre andava na pista | Atropelamento de Pedestre | Com Vítimas Fatais | Plena Noite | Crescente | Céu Claro | Dupla | Reta | Não | 0 | 2 | -25,05467785 | -50,22938892 |
| 67762 | 2023-06-20 | terça-feira | Acessar a via sem observar a presença dos outr... | Colisão transversal | Com Vítimas Feridas | Plena Noite | Crescente | Céu Claro | Simples | Reta | Sim | 1 | 2 | -3,40552588 | -44,35174989 |
| 67763 | 2023-05-18 | quinta-feira | Conversão proibida | Colisão transversal | Com Vítimas Feridas | Pleno dia | Crescente | Céu Claro | Simples | Reta | Não | 3 | 2 | -18,69020499 | -39,86154403 |
| 67765 | 2023-08-14 | segunda-feira | Chuva | Queda de ocupante de veículo | Com Vítimas Feridas | Pleno dia | Decrescente | Chuva | Múltipla | Reta | Sim | 1 | 1 | -22,6723488 | -43,28215398 |
144564 rows × 15 columns
df['dia_semana'] = df['dia_semana'].astype('category')
df['causa_acidente'] = df['causa_acidente'].astype('category')
df['tipo_acidente'] = df['tipo_acidente'].astype('category')
df['classificacao_acidente'] = df['classificacao_acidente'].astype('category')
df['fase_dia'] = df['fase_dia'].astype('category')
df['sentido_via'] = df['sentido_via'].astype('category')
df['condicao_metereologica'] = df['condicao_metereologica'].astype('category')
df['tipo_pista'] = df['tipo_pista'].astype('category')
df['tracado_via'] = df['tracado_via'].astype('category')
df['uso_solo'] = df['uso_solo'].astype('category')
df['data_inversa'] = pd.to_datetime(df['data_inversa'])
#Existem datasets com as coordenadas em formato de string
#Para fazer o gráfico de densidade com as localizações no mapa é necessário está em float
def convert_to_float(value):
if isinstance(value, str):
try:
return float(value.replace(',', '.'))
except ValueError:
return value
return value
df['latitude'] = df['latitude'].apply(convert_to_float)
df['longitude'] = df['longitude'].apply(convert_to_float)
df['mes'] = df['data_inversa'].dt.month
df['ano'] = df['data_inversa'].dt.year
df['dia_semana'] = df['data_inversa'].dt.day_name()
traducao_dias = {
'Monday': 'Segunda-feira',
'Tuesday': 'Terça-feira',
'Wednesday': 'Quarta-feira',
'Thursday': 'Quinta-feira',
'Friday': 'Sexta-feira',
'Saturday': 'Sábado',
'Sunday': 'Domingo'
}
df['dia_semana'] = df['dia_semana'].map(traducao_dias)
df
| data_inversa | dia_semana | causa_acidente | tipo_acidente | classificacao_acidente | fase_dia | sentido_via | condicao_metereologica | tipo_pista | tracado_via | uso_solo | feridos | veiculos | latitude | longitude | mes | ano | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2025-01-01 | Quarta-feira | Reação tardia ou ineficiente do condutor | Tombamento | Com Vítimas Feridas | Pleno dia | Decrescente | Céu Claro | Múltipla | Reta;Declive | Sim | 1 | 2 | -23.485868 | -46.540753 | 1 | 2025 |
| 1 | 2025-01-01 | Quarta-feira | Pista esburacada | Colisão frontal | Com Vítimas Fatais | Pleno dia | Crescente | Céu Claro | Simples | Reta | Não | 1 | 6 | -7.812288 | -39.083333 | 1 | 2025 |
| 2 | 2025-01-01 | Quarta-feira | Reação tardia ou ineficiente do condutor | Colisão traseira | Com Vítimas Feridas | Pleno dia | Crescente | Sol | Dupla | Reta;Aclive | Sim | 3 | 2 | -23.182565 | -50.637228 | 1 | 2025 |
| 3 | 2025-01-01 | Quarta-feira | Reação tardia ou ineficiente do condutor | Saída de leito carroçável | Com Vítimas Feridas | Pleno dia | Crescente | Céu Claro | Dupla | Reta | Não | 1 | 2 | -25.365177 | -49.042230 | 1 | 2025 |
| 4 | 2025-01-01 | Quarta-feira | Velocidade Incompatível | Colisão frontal | Com Vítimas Feridas | Pleno dia | Decrescente | Chuva | Simples | Curva;Declive | Não | 2 | 4 | -16.468013 | -43.431213 | 1 | 2025 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 67760 | 2023-09-24 | Domingo | Ausência de reação do condutor | Colisão frontal | Com Vítimas Feridas | Amanhecer | Decrescente | Céu Claro | Simples | Reta | Sim | 3 | 2 | -26.922038 | -48.958849 | 9 | 2023 |
| 67761 | 2023-04-19 | Quarta-feira | Pedestre andava na pista | Atropelamento de Pedestre | Com Vítimas Fatais | Plena Noite | Crescente | Céu Claro | Dupla | Reta | Não | 0 | 2 | -25.054678 | -50.229389 | 4 | 2023 |
| 67762 | 2023-06-20 | Terça-feira | Acessar a via sem observar a presença dos outr... | Colisão transversal | Com Vítimas Feridas | Plena Noite | Crescente | Céu Claro | Simples | Reta | Sim | 1 | 2 | -3.405526 | -44.351750 | 6 | 2023 |
| 67763 | 2023-05-18 | Quinta-feira | Conversão proibida | Colisão transversal | Com Vítimas Feridas | Pleno dia | Crescente | Céu Claro | Simples | Reta | Não | 3 | 2 | -18.690205 | -39.861544 | 5 | 2023 |
| 67765 | 2023-08-14 | Segunda-feira | Chuva | Queda de ocupante de veículo | Com Vítimas Feridas | Pleno dia | Decrescente | Chuva | Múltipla | Reta | Sim | 1 | 1 | -22.672349 | -43.282154 | 8 | 2023 |
144564 rows × 17 columns
df.reset_index(inplace=True)
df.drop(columns=['index'], inplace=True)
#Existe um alto número de categorias em causa_acidente e tracado_via, o que aumentou o tempo de treinamento e diminuiu a performace.
limite = 2500
frequencia = df['causa_acidente'].value_counts()
categorias_para_agregar = frequencia[frequencia < limite].index
df['causa_acidente'] = df['causa_acidente'].apply(lambda x: 'Outros' if x in categorias_para_agregar else x)
df['causa_acidente'] = df['causa_acidente'].astype('category')
limite = 2200
frequencia = df['tracado_via'].value_counts()
categorias_para_agregar = frequencia[frequencia < limite].index
df['tracado_via'] = df['tracado_via'].apply(lambda x: 'Outros' if x in categorias_para_agregar else x)
df['tracado_via'] = df['tracado_via'].astype('category')
frequencia = df['tracado_via'].value_counts()
# Identificar categorias que estão abaixo do limite
categorias_para_agregar = frequencia[frequencia > 2200].values
categorias_para_agregar.sum()
144564
frequencia = df['causa_acidente'].value_counts()
categorias_para_agregar = frequencia[frequencia > 2500].values
categorias_para_agregar.sum()
144564
Análise exploratória¶
plt.figure(figsize=(12,6))
agrupado = df.groupby(["mes", "classificacao_acidente"], observed=False).size().reset_index(name="Contagem")
sns.barplot(x = 'mes', y = 'Contagem', hue='classificacao_acidente', data=agrupado)
plt.title(f'Contagem de acidentes de trânsito por Mês e Classificação do acidente')
plt.xlabel('Mês')
plt.ylabel('Contagem')
Text(0, 0.5, 'Contagem')
plt.figure(figsize=(12,6))
agrupado = df.groupby(["dia_semana", "classificacao_acidente"], observed=False).size().reset_index(name="Contagem")
#Para mostrar os dias na ordem correta é preciso fazer a ordernação de forma manual.
ordem_dias = [
'Segunda-feira',
'Terça-feira',
'Quarta-feira',
'Quinta-feira',
'Sexta-feira',
'Sábado',
'Domingo'
]
agrupado['dia_semana'] = pd.Categorical(
agrupado['dia_semana'],
categories=ordem_dias,
ordered=True
)
agrupado = agrupado.sort_values('dia_semana')
sns.barplot(x = 'dia_semana', y = 'Contagem', hue='classificacao_acidente', data=agrupado)
plt.title(f'Contagem de acidentes de trânsito por Dia da semana e Classificação do acidente')
plt.xlabel('Dia da semana')
plt.ylabel('Contagem')
E:\Anaconda1\Lib\site-packages\seaborn\categorical.py:641: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
Text(0, 0.5, 'Contagem')
plt.figure(figsize=(12,6))
agrupado = df.groupby(["ano", "classificacao_acidente"], observed=False).size().reset_index(name="Contagem")
sns.barplot(x = 'ano', y = 'Contagem', hue='classificacao_acidente', data=agrupado)
plt.title(f'Contagem de acidentes de trânsito por Ano e Classificação do acidente')
plt.xlabel('Ano')
plt.ylabel('Contagem')
Text(0, 0.5, 'Contagem')
#Os valores com muitas categorias a contagem aparece embaixo com a ordem correspondente.
colunas = df.select_dtypes(include='category')
for i, col in enumerate(colunas, 1):
if col == 'classificacao_acidente':
continue
agrupado = df.groupby([col, "classificacao_acidente"], observed=False).size().reset_index(name="Contagem")
print(agrupado)
print()
causa_acidente classificacao_acidente \
0 Acessar a via sem observar a presença dos outr... Com Vítimas Fatais
1 Acessar a via sem observar a presença dos outr... Com Vítimas Feridas
2 Acessar a via sem observar a presença dos outr... Sem Vítimas
3 Animais na Pista Com Vítimas Fatais
4 Animais na Pista Com Vítimas Feridas
5 Animais na Pista Sem Vítimas
6 Ausência de reação do condutor Com Vítimas Fatais
7 Ausência de reação do condutor Com Vítimas Feridas
8 Ausência de reação do condutor Sem Vítimas
9 Avarias e/ou desgaste excessivo no pneu Com Vítimas Fatais
10 Avarias e/ou desgaste excessivo no pneu Com Vítimas Feridas
11 Avarias e/ou desgaste excessivo no pneu Sem Vítimas
12 Condutor Dormindo Com Vítimas Fatais
13 Condutor Dormindo Com Vítimas Feridas
14 Condutor Dormindo Sem Vítimas
15 Condutor deixou de manter distância do veículo... Com Vítimas Fatais
16 Condutor deixou de manter distância do veículo... Com Vítimas Feridas
17 Condutor deixou de manter distância do veículo... Sem Vítimas
18 Demais falhas mecânicas ou elétricas Com Vítimas Fatais
19 Demais falhas mecânicas ou elétricas Com Vítimas Feridas
20 Demais falhas mecânicas ou elétricas Sem Vítimas
21 Desrespeitar a preferência no cruzamento Com Vítimas Fatais
22 Desrespeitar a preferência no cruzamento Com Vítimas Feridas
23 Desrespeitar a preferência no cruzamento Sem Vítimas
24 Ingestão de álcool pelo condutor Com Vítimas Fatais
25 Ingestão de álcool pelo condutor Com Vítimas Feridas
26 Ingestão de álcool pelo condutor Sem Vítimas
27 Manobra de mudança de faixa Com Vítimas Fatais
28 Manobra de mudança de faixa Com Vítimas Feridas
29 Manobra de mudança de faixa Sem Vítimas
30 Outros Com Vítimas Fatais
31 Outros Com Vítimas Feridas
32 Outros Sem Vítimas
33 Reação tardia ou ineficiente do condutor Com Vítimas Fatais
34 Reação tardia ou ineficiente do condutor Com Vítimas Feridas
35 Reação tardia ou ineficiente do condutor Sem Vítimas
36 Trafegar com motocicleta (ou similar) entre as... Com Vítimas Fatais
37 Trafegar com motocicleta (ou similar) entre as... Com Vítimas Feridas
38 Trafegar com motocicleta (ou similar) entre as... Sem Vítimas
39 Transitar na contramão Com Vítimas Fatais
40 Transitar na contramão Com Vítimas Feridas
41 Transitar na contramão Sem Vítimas
42 Ultrapassagem Indevida Com Vítimas Fatais
43 Ultrapassagem Indevida Com Vítimas Feridas
44 Ultrapassagem Indevida Sem Vítimas
45 Velocidade Incompatível Com Vítimas Fatais
46 Velocidade Incompatível Com Vítimas Feridas
47 Velocidade Incompatível Sem Vítimas
Contagem
0 739
1 11650
2 1256
3 172
4 2160
5 475
6 1302
7 15950
8 3241
9 63
10 2272
11 259
12 319
13 3360
14 641
15 170
16 7343
17 1479
18 117
19 3064
20 3328
21 63
22 2430
23 254
24 327
25 4130
26 3122
27 414
28 6906
29 1000
30 2611
31 20092
32 2869
33 1091
34 16928
35 3225
36 119
37 2346
38 57
39 1397
40 3064
41 457
42 558
43 2546
44 317
45 777
46 6881
47 1223
tipo_acidente classificacao_acidente Contagem
0 Atropelamento de Animal Com Vítimas Fatais 165
1 Atropelamento de Animal Com Vítimas Feridas 1834
2 Atropelamento de Animal Sem Vítimas 428
3 Atropelamento de Pedestre Com Vítimas Fatais 1822
4 Atropelamento de Pedestre Com Vítimas Feridas 4486
5 Atropelamento de Pedestre Sem Vítimas 69
6 Capotamento Com Vítimas Fatais 113
7 Capotamento Com Vítimas Feridas 2428
8 Capotamento Sem Vítimas 486
9 Colisão com objeto Com Vítimas Fatais 498
10 Colisão com objeto Com Vítimas Feridas 7019
11 Colisão com objeto Sem Vítimas 2772
12 Colisão frontal Com Vítimas Fatais 2884
13 Colisão frontal Com Vítimas Feridas 6230
14 Colisão frontal Sem Vítimas 585
15 Colisão lateral mesmo sentido Com Vítimas Fatais 383
16 Colisão lateral mesmo sentido Com Vítimas Feridas 12654
17 Colisão lateral mesmo sentido Sem Vítimas 2305
18 Colisão lateral sentido oposto Com Vítimas Fatais 335
19 Colisão lateral sentido oposto Com Vítimas Feridas 3038
20 Colisão lateral sentido oposto Sem Vítimas 754
21 Colisão transversal Com Vítimas Fatais 834
22 Colisão transversal Com Vítimas Feridas 15930
23 Colisão transversal Sem Vítimas 1654
24 Colisão traseira Com Vítimas Fatais 1115
25 Colisão traseira Com Vítimas Feridas 22104
26 Colisão traseira Sem Vítimas 4384
27 Derramamento de carga Com Vítimas Fatais 4
28 Derramamento de carga Com Vítimas Feridas 80
29 Derramamento de carga Sem Vítimas 142
30 Engavetamento Com Vítimas Fatais 68
31 Engavetamento Com Vítimas Feridas 1920
32 Engavetamento Sem Vítimas 563
33 Eventos atípicos Com Vítimas Fatais 48
34 Eventos atípicos Com Vítimas Feridas 353
35 Eventos atípicos Sem Vítimas 189
36 Incêndio Com Vítimas Fatais 4
37 Incêndio Com Vítimas Feridas 143
38 Incêndio Sem Vítimas 3079
39 Queda de ocupante de veículo Com Vítimas Fatais 213
40 Queda de ocupante de veículo Com Vítimas Feridas 6253
41 Queda de ocupante de veículo Sem Vítimas 126
42 Saída de leito carroçável Com Vítimas Fatais 1225
43 Saída de leito carroçável Com Vítimas Feridas 15607
44 Saída de leito carroçável Sem Vítimas 4773
45 Sinistro pessoal de trânsito Com Vítimas Fatais 3
46 Sinistro pessoal de trânsito Com Vítimas Feridas 7
47 Sinistro pessoal de trânsito Sem Vítimas 2
48 Tombamento Com Vítimas Fatais 525
49 Tombamento Com Vítimas Feridas 11036
50 Tombamento Sem Vítimas 892
fase_dia classificacao_acidente Contagem
0 Amanhecer Com Vítimas Fatais 774
1 Amanhecer Com Vítimas Feridas 4740
2 Amanhecer Sem Vítimas 1365
3 Anoitecer Com Vítimas Fatais 533
4 Anoitecer Com Vítimas Feridas 6235
5 Anoitecer Sem Vítimas 1088
6 Plena Noite Com Vítimas Fatais 4927
7 Plena Noite Com Vítimas Feridas 34865
8 Plena Noite Sem Vítimas 9393
9 Pleno dia Com Vítimas Fatais 4005
10 Pleno dia Com Vítimas Feridas 65282
11 Pleno dia Sem Vítimas 11357
sentido_via classificacao_acidente Contagem
0 Crescente Com Vítimas Fatais 5686
1 Crescente Com Vítimas Feridas 60043
2 Crescente Sem Vítimas 12194
3 Decrescente Com Vítimas Fatais 4547
4 Decrescente Com Vítimas Feridas 50966
5 Decrescente Sem Vítimas 10779
6 Não Informado Com Vítimas Fatais 6
7 Não Informado Com Vítimas Feridas 113
8 Não Informado Sem Vítimas 230
condicao_metereologica classificacao_acidente Contagem
0 Chuva Com Vítimas Fatais 914
1 Chuva Com Vítimas Feridas 11370
2 Chuva Sem Vítimas 2565
3 Céu Claro Com Vítimas Fatais 6896
4 Céu Claro Com Vítimas Feridas 70882
5 Céu Claro Sem Vítimas 14667
6 Garoa/Chuvisco Com Vítimas Fatais 280
7 Garoa/Chuvisco Com Vítimas Feridas 4028
8 Garoa/Chuvisco Sem Vítimas 1033
9 Granizo Com Vítimas Fatais 0
10 Granizo Com Vítimas Feridas 3
11 Granizo Sem Vítimas 3
12 Neve Com Vítimas Fatais 0
13 Neve Com Vítimas Feridas 1
14 Neve Sem Vítimas 1
15 Nevoeiro/Neblina Com Vítimas Fatais 155
16 Nevoeiro/Neblina Com Vítimas Feridas 874
17 Nevoeiro/Neblina Sem Vítimas 236
18 Nublado Com Vítimas Fatais 1522
19 Nublado Com Vítimas Feridas 17142
20 Nublado Sem Vítimas 3580
21 Sol Com Vítimas Fatais 456
22 Sol Com Vítimas Feridas 6654
23 Sol Sem Vítimas 1074
24 Vento Com Vítimas Fatais 16
25 Vento Com Vítimas Feridas 168
26 Vento Sem Vítimas 44
tipo_pista classificacao_acidente Contagem
0 Dupla Com Vítimas Fatais 2779
1 Dupla Com Vítimas Feridas 47394
2 Dupla Sem Vítimas 10213
3 Múltipla Com Vítimas Fatais 577
4 Múltipla Com Vítimas Feridas 11274
5 Múltipla Sem Vítimas 2035
6 Simples Com Vítimas Fatais 6883
7 Simples Com Vítimas Feridas 52454
8 Simples Sem Vítimas 10955
tracado_via classificacao_acidente Contagem
0 Aclive;Reta Com Vítimas Fatais 280
1 Aclive;Reta Com Vítimas Feridas 2141
2 Aclive;Reta Sem Vítimas 563
3 Curva Com Vítimas Fatais 1245
4 Curva Com Vítimas Feridas 13066
5 Curva Sem Vítimas 2579
6 Curva;Declive Com Vítimas Fatais 362
7 Curva;Declive Com Vítimas Feridas 2566
8 Curva;Declive Sem Vítimas 456
9 Declive;Reta Com Vítimas Fatais 300
10 Declive;Reta Com Vítimas Feridas 2039
11 Declive;Reta Sem Vítimas 410
12 Interseção de Vias Com Vítimas Fatais 86
13 Interseção de Vias Com Vítimas Feridas 2996
14 Interseção de Vias Sem Vítimas 476
15 Outros Com Vítimas Fatais 1549
16 Outros Com Vítimas Feridas 21392
17 Outros Sem Vítimas 4296
18 Reta Com Vítimas Fatais 5664
19 Reta Com Vítimas Feridas 61346
20 Reta Sem Vítimas 13140
21 Reta;Aclive Com Vítimas Fatais 313
22 Reta;Aclive Com Vítimas Feridas 2463
23 Reta;Aclive Sem Vítimas 643
24 Reta;Declive Com Vítimas Fatais 440
25 Reta;Declive Com Vítimas Feridas 3113
26 Reta;Declive Sem Vítimas 640
uso_solo classificacao_acidente Contagem
0 Não Com Vítimas Fatais 7484
1 Não Com Vítimas Feridas 61553
2 Não Sem Vítimas 14032
3 Sim Com Vítimas Fatais 2755
4 Sim Com Vítimas Feridas 49569
5 Sim Sem Vítimas 9171
lats = df['latitude']
lons = df['longitude']
fig = px.density_mapbox(lat=lats, lon=lons, radius=5,
zoom=3, mapbox_style="open-street-map")
fig.update_layout(title="Mapa de Densidade dos acidentes de trânsitos nas rodovias federais")
fig.show()
Treinamento dos modelos¶
df['mes'] = df['mes'].astype("category")
df['ano'] = df['ano'].astype("category")
df['dia_semana'] = df['dia_semana'].astype("category")
df.drop(columns=['data_inversa', 'latitude', 'longitude'], inplace=True)
# Codificação de variáveis categóricas
label_encoders = {}
for col in df.select_dtypes(include=['category']).columns:
le = LabelEncoder()
df[col] = le.fit_transform(df[col])
label_encoders[col] = le
# Definir features e target
y = df['classificacao_acidente']
X = df.drop(columns=['classificacao_acidente', 'veiculos', 'feridos'])
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# Modelos
modelos = {
'Naive Bayes' : GaussianNB(),
'Random Forest': RandomForestClassifier(n_estimators=50, random_state=42),
'SVM': SVC(kernel='rbf', random_state=42),
'RBF Neural Network': MLPClassifier(hidden_layer_sizes=(50,), activation='tanh', solver='adam', max_iter=100, random_state=42)
}
# Treinamento e avaliação
desempenho = {}
shap_values_all_folds = []
X_test_all_folds = []
for nome, modelo in modelos.items():
accs = []
modelo.fit(X_train, y_train)
y_pred = modelo.predict(X_test)
acc = accuracy_score(y_test, y_pred)
print("....")
print()
desempenho[nome] = acc
print(f'\nModelo: {nome}')
print(f'Acurácia: {acc:.4f}')
print(classification_report(y_test, y_pred))
....
Modelo: Naive Bayes
Acurácia: 0.7663
precision recall f1-score support
0 0.29 0.02 0.04 3095
1 0.77 1.00 0.87 33313
2 0.00 0.00 0.00 6962
accuracy 0.77 43370
macro avg 0.35 0.34 0.30 43370
weighted avg 0.61 0.77 0.67 43370
E:\Anaconda1\Lib\site-packages\sklearn\metrics\_classification.py:1471: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior. E:\Anaconda1\Lib\site-packages\sklearn\metrics\_classification.py:1471: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior. E:\Anaconda1\Lib\site-packages\sklearn\metrics\_classification.py:1471: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.
....
Modelo: Random Forest
Acurácia: 0.7696
precision recall f1-score support
0 0.34 0.13 0.19 3095
1 0.80 0.94 0.86 33313
2 0.55 0.23 0.32 6962
accuracy 0.77 43370
macro avg 0.56 0.43 0.46 43370
weighted avg 0.73 0.77 0.73 43370
....
Modelo: SVM
Acurácia: 0.7681
precision recall f1-score support
0 0.00 0.00 0.00 3095
1 0.77 1.00 0.87 33313
2 0.00 0.00 0.00 6962
accuracy 0.77 43370
macro avg 0.26 0.33 0.29 43370
weighted avg 0.59 0.77 0.67 43370
E:\Anaconda1\Lib\site-packages\sklearn\metrics\_classification.py:1471: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior. E:\Anaconda1\Lib\site-packages\sklearn\metrics\_classification.py:1471: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior. E:\Anaconda1\Lib\site-packages\sklearn\metrics\_classification.py:1471: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.
....
Modelo: RBF Neural Network
Acurácia: 0.7827
precision recall f1-score support
0 0.48 0.05 0.08 3095
1 0.79 0.99 0.87 33313
2 0.74 0.14 0.23 6962
accuracy 0.78 43370
macro avg 0.67 0.39 0.40 43370
weighted avg 0.76 0.78 0.71 43370
E:\Anaconda1\Lib\site-packages\sklearn\neural_network\_multilayer_perceptron.py:691: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (100) reached and the optimization hasn't converged yet.
Análise das váriaveis utilizadas no modelo Random Forest¶
#Com vitimas feridas: 1
#Com vitimas fatais: 0
#Sem vitimas: 2
X_sample = X_test.sample(n=5000, random_state=42)
explainer = shap.TreeExplainer(modelos['Random Forest'])
shap_values = explainer.shap_values(X_sample)
shap_values = np.transpose(shap_values, (2, 0 ,1))
#Quanto maior o shap_values, menor a gravidade do acidente
#O feature value indica categoria da váriavel com base no número correspondente ao encoding
for i in range(3):
print(f"\nSummary plot para a classe {i}:")
shap.summary_plot(shap_values[i], X_sample, feature_names=X.columns)
Summary plot para a classe 0:
Summary plot para a classe 1:
Summary plot para a classe 2:
#shap values em números absolutos
shap_values_reshaped = np.concatenate(shap_values, axis=0)
X_sample_repeated = np.repeat(X_sample, repeats=3, axis=0)
shap.summary_plot(
shap_values_reshaped,
X_sample_repeated,
plot_type="bar",
feature_names=X.columns,
)
#Saber quais os códigos de encoding correspondentes as categorias
X_sample_decoded = X_sample.copy()
for col, encoder in label_encoders.items():
if (col == "classificacao_acidente"):
continue
X_sample_decoded[col] = encoder.inverse_transform(X_sample[col])
X_sample_decoded
| dia_semana | causa_acidente | tipo_acidente | fase_dia | sentido_via | condicao_metereologica | tipo_pista | tracado_via | uso_solo | mes | ano | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 74802 | Domingo | Trafegar com motocicleta (ou similar) entre as... | Colisão lateral mesmo sentido | Plena Noite | Crescente | Nublado | Dupla | Reta | Sim | 12 | 2024 |
| 87546 | Quarta-feira | Ausência de reação do condutor | Colisão transversal | Pleno dia | Crescente | Céu Claro | Simples | Curva | Sim | 8 | 2023 |
| 111455 | Domingo | Animais na Pista | Queda de ocupante de veículo | Plena Noite | Decrescente | Nublado | Dupla | Reta | Sim | 5 | 2023 |
| 46507 | Sábado | Ausência de reação do condutor | Colisão traseira | Pleno dia | Decrescente | Nublado | Múltipla | Reta | Sim | 5 | 2024 |
| 114726 | Quinta-feira | Ausência de reação do condutor | Tombamento | Plena Noite | Decrescente | Céu Claro | Simples | Outros | Sim | 6 | 2023 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 70816 | Terça-feira | Ausência de reação do condutor | Queda de ocupante de veículo | Pleno dia | Crescente | Céu Claro | Simples | Reta | Não | 11 | 2024 |
| 17438 | Quarta-feira | Reação tardia ou ineficiente do condutor | Tombamento | Anoitecer | Crescente | Céu Claro | Dupla | Curva;Declive | Não | 7 | 2024 |
| 38839 | Sexta-feira | Acessar a via sem observar a presença dos outr... | Colisão transversal | Pleno dia | Crescente | Céu Claro | Simples | Reta | Não | 4 | 2024 |
| 24396 | Terça-feira | Trafegar com motocicleta (ou similar) entre as... | Colisão lateral mesmo sentido | Pleno dia | Decrescente | Céu Claro | Dupla | Reta | Não | 1 | 2024 |
| 116422 | Terça-feira | Outros | Colisão com objeto | Pleno dia | Decrescente | Chuva | Dupla | Curva | Não | 6 | 2023 |
5000 rows × 11 columns
X_sample
| dia_semana | causa_acidente | tipo_acidente | fase_dia | sentido_via | condicao_metereologica | tipo_pista | tracado_via | uso_solo | mes | ano | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 74802 | 0 | 12 | 5 | 2 | 0 | 6 | 0 | 6 | 1 | 11 | 1 |
| 87546 | 1 | 2 | 7 | 3 | 0 | 1 | 2 | 1 | 1 | 7 | 0 |
| 111455 | 0 | 1 | 13 | 2 | 1 | 6 | 0 | 6 | 1 | 4 | 0 |
| 46507 | 5 | 2 | 8 | 3 | 1 | 6 | 1 | 6 | 1 | 4 | 1 |
| 114726 | 2 | 2 | 16 | 2 | 1 | 1 | 2 | 5 | 1 | 5 | 0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 70816 | 6 | 2 | 13 | 3 | 0 | 1 | 2 | 6 | 0 | 10 | 1 |
| 17438 | 1 | 11 | 16 | 1 | 0 | 1 | 0 | 2 | 0 | 6 | 1 |
| 38839 | 4 | 0 | 7 | 3 | 0 | 1 | 2 | 6 | 0 | 3 | 1 |
| 24396 | 6 | 12 | 5 | 3 | 1 | 1 | 0 | 6 | 0 | 0 | 1 |
| 116422 | 6 | 10 | 3 | 3 | 1 | 0 | 0 | 1 | 0 | 5 | 0 |
5000 rows × 11 columns
#Relação de multiplo features com os shap_values
#A partir das 4 variaveis mais bem colocadas o proprio shap.dependece_plot encontra as features com maior correlação
top_features = ['tipo_acidente', 'fase_dia', 'dia_semana', 'tipo_pista']
for feature in top_features:
shap.dependence_plot(
ind=feature,
shap_values=shap_values[0],
features=X_sample,
interaction_index="auto",
show=False
)
plt.title(f"Dependency Plot para {feature}")
plt.show()